一种弹幕显示方法、装置及电子设备制造方法及图纸

技术编号:23499250 阅读:39 留言:0更新日期:2020-03-13 13:42
本发明专利技术实施例公开了一种弹幕显示方法、装置及电子设备。本发明专利技术实施例方法包括:定义一个List集合;构建一个Map变量,在Map变量的codeToTextView集合内部构建弹幕TextView控件与弹幕的唯一标识符之间的映射关系;获取用户的弹幕显示设置指令;根据指令从List集合中取出所有的当前正在显示的弹幕textView控件对应的目标唯一标识符,并通过目标唯一标识符找到对应的目标textView控件;获取目标textView控件当前在弹幕容器对象中的高度位置信息;根据弹幕显示区域高度设置信息和目标textView控件当前在弹幕容器对象中的高度位置信息,调整目标textView控件在弹幕容器对象中的高度位置信息;根据调整后的目标textView控件在弹幕容器对象中的高度位置信息显示视频中弹幕。本发明专利技术实施例有效的保证弹幕数据的准确性。

A display method, device and electronic equipment of bullet curtain

【技术实现步骤摘要】
一种弹幕显示方法、装置及电子设备
本专利技术涉及视频播放
,特别涉及一种弹幕显示方法、装置及电子设备。
技术介绍
随时网络通信技术的进步和宽带网络的提速,网络视频应用在各个行业得到了越来越广泛的开展。直观而生动的高清视频应用,可以极大地拉近用户之间的距离,并达到最好的交流效果,而且成本相对最低,所以得到了各行业用户的普遍欢迎。弹幕是互联网视频的一大特色。弹幕指直接显现在视频上的评论,可以以滚动、停留甚至更多动作特效方式出现在视频上,是观看视频的人发送的简短评论。“弹幕视频”顾名思义即带有“弹幕”的视频。很多网站提供视频发送弹幕的功能。在现有技术中,弹幕显示方式通常是:每条弹幕信息占用一行,然后弹幕信息从对应行的左侧出现后,滚动显示至右侧消失;或者,弹幕信息从该行的右侧出现,滚动显示至左侧消失。但是,当弹幕内容过多时,容易影响用户对视频的正常观看。现有技术中不支持对弹幕显示的个性化定制,当弹幕内容影响观看时,用户只能选择关闭全部弹幕。
技术实现思路
本专利技术实施例提供了一种弹幕显示方法、装置及电子设备,有效的保证了弹幕数据的准确性,弹幕速度的快慢对集合中的数据的准确性无任何影响。第一方面,本申请提供了一种弹幕显示方法,该方法包括:定义一个List集合,所述List集合用于存储当前正在运行的弹幕信息;构建一个Map变量,并在Map变量的codeToTextView集合内部构建弹幕TextView控件与弹幕的唯一标识符之间的映射关系,所述弹幕的唯一标识符是一个String类型的数据;当弹幕准备进入屏幕执行移动动画时,获取当前屏幕显示的textView控件对应的弹幕的唯一标识符,将当前屏幕显示的textView控件对应的弹幕的唯一标识符添加到List集合中;将当前屏幕显示的textView控件与弹幕的唯一标识符的映射关系存储到codeToTextView集合中;当当前屏幕显示的textView控件移出屏幕时,通过codeToTextView集合中的映射关系获取当前屏幕显示的textView控件所对应的弹幕的唯一标识符,并将当前屏幕显示的textView控件所对应的弹幕的唯一标识符从List集合中移除;获取用户的弹幕显示设置指令,所述指令中包括弹幕显示区域高度设置信息;根据所述指令从所述List集合中取出所有的当前正在显示的弹幕textView控件对应的目标唯一标识符,并通过目标唯一标识符找到对应的目标textView控件;获取所述目标textView控件当前在所述弹幕容器对象中的高度位置信息;根据所述弹幕显示区域高度设置信息和所述目标textView控件当前在所述弹幕容器对象中的高度位置信息,调整所述目标textView控件在所述弹幕容器对象中的高度位置信息;根据调整后的所述目标textView控件在所述弹幕容器对象中的高度位置信息显示视频中弹幕。第二方面,本申请提供一种弹幕显示装置,该装置包括:定义单元,用于定义一个List集合,所述List集合用于存储当前正在运行的弹幕信息;构建单元,用于构建一个Map变量,并在Map变量的codeToTextView集合内部构建弹幕TextView控件与弹幕的唯一标识符之间的映射关系,所述弹幕的唯一标识符是一个String类型的数据;添加单元,用于当弹幕准备进入屏幕执行移动动画时,获取当前屏幕显示的textView控件对应的弹幕的唯一标识符,将当前屏幕显示的textView控件对应的弹幕的唯一标识符添加到List集合中;存储单元,用于将当前屏幕显示的textView控件与弹幕的唯一标识符的映射关系存储到codeToTextView集合中;移除单元,用于当当前屏幕显示的textView控件移出屏幕时,通过codeToTextView集合中的映射关系获取当前屏幕显示的textView控件所对应的弹幕的唯一标识符,并将当前屏幕显示的textView控件所对应的弹幕的唯一标识符从List集合中移除;获取单元,用于获取用户的弹幕显示设置指令,所述指令中包括弹幕显示区域高度设置信息;根据所述指令从所述List集合中取出所有的当前正在显示的弹幕textView控件对应的目标唯一标识符,并通过目标唯一标识符找到对应的目标textView控件;获取所述目标textView控件当前在所述弹幕容器对象中的高度位置信息;调整单元,用于根据所述弹幕显示区域高度设置信息和所述目标textView控件当前在所述弹幕容器对象中的高度位置信息,调整所述目标textView控件在所述弹幕容器对象中的高度位置信息;显示单元,用于根据调整后的所述目标textView控件在所述弹幕容器对象中的高度位置信息显示视频中弹幕。第三方面,本专利技术还提供一种电子设备,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现第一方面中任一所述的方法。本专利技术实施例通过定义一个List集合;构建一个Map变量,并在Map变量的codeToTextView集合内部构建弹幕TextView控件与弹幕的唯一标识符之间的映射关系;当弹幕准备进入屏幕执行移动动画时,获取当前屏幕显示的textView控件对应的弹幕的唯一标识符,将当前屏幕显示的textView控件对应的弹幕的唯一标识符添加到List集合中;将当前屏幕显示的textView控件与弹幕的唯一标识符的映射关系存储到codeToTextView集合中;当当前屏幕显示的textView控件移出屏幕时,通过codeToTextView集合中的映射关系获取当前屏幕显示的textView控件所对应的弹幕的唯一标识符,并将当前屏幕显示的textView控件所对应的弹幕的唯一标识符从List集合中移除;获取用户的弹幕显示设置指令;根据指令从List集合中取出所有的当前正在显示的弹幕textView控件对应的目标唯一标识符,并通过目标唯一标识符找到对应的目标textView控件;获取所述目标textView控件当前在所述弹幕容器对象中的高度位置信息;根据所述弹幕显示区域高度设置信息和所述目标textView控件当前在所述弹幕容器对象中的高度位置信息,调整所述目标textView控件在所述弹幕容器对象中的高度位置信息;根据调整后的所述目标textView控件在所述弹幕容器对象中的高度位置信息显示视频中弹幕。本专利技术实施例采用了集合List来存储当前正在运行的弹幕信息,从而有效的保证了listDanmu集合中的数据的准确性,弹幕速度的快慢对集合中的数据的准确性无任何影响。附图说明图1是本专利技术实施例中弹幕显示方法的一个实施例示意图;图2是本专利技术是实施例中弹幕显示方法的另一个实施例示意图;图3是本专利技术是实施例中弹幕显示方法的另一个实施例示意图;图4是本专利技术是实施例中弹幕显示方法的另一个实施例示意图;图5是本专利技术是实施例本文档来自技高网...

【技术保护点】
1.一种弹幕显示方法,其特征在于,所述方法包括:/n定义一个List集合,所述List集合用于存储当前正在运行的弹幕信息;/n构建一个Map变量,并在Map变量的codeToTextView集合内部构建弹幕TextView控件与弹幕的唯一标识符之间的映射关系,所述弹幕的唯一标识符是一个String类型的数据;/n当弹幕准备进入屏幕执行移动动画时,获取当前屏幕显示的textView控件对应的弹幕的唯一标识符,将当前屏幕显示的textView控件对应的弹幕的唯一标识符添加到List集合中;/n将当前屏幕显示的textView控件与弹幕的唯一标识符的映射关系存储到codeToTextView集合中;/n当当前屏幕显示的textView控件移出屏幕时,通过codeToTextView集合中的映射关系获取当前屏幕显示的textView控件所对应的弹幕的唯一标识符,并将当前屏幕显示的textView控件所对应的弹幕的唯一标识符从List集合中移除;/n获取用户的弹幕显示设置指令,所述指令中包括弹幕显示区域高度设置信息;/n根据所述指令从所述List集合中取出所有的当前正在显示的弹幕textView控件对应的目标唯一标识符,并通过目标唯一标识符找到对应的目标textView控件;/n获取所述目标textView控件当前在所述弹幕容器对象中的高度位置信息;/n根据所述弹幕显示区域高度设置信息和所述目标textView控件当前在所述弹幕容器对象中的高度位置信息,调整所述目标textView控件在所述弹幕容器对象中的高度位置信息;/n根据调整后的所述目标textView控件在所述弹幕容器对象中的高度位置信息显示视频中弹幕。/n...

【技术特征摘要】
1.一种弹幕显示方法,其特征在于,所述方法包括:
定义一个List集合,所述List集合用于存储当前正在运行的弹幕信息;
构建一个Map变量,并在Map变量的codeToTextView集合内部构建弹幕TextView控件与弹幕的唯一标识符之间的映射关系,所述弹幕的唯一标识符是一个String类型的数据;
当弹幕准备进入屏幕执行移动动画时,获取当前屏幕显示的textView控件对应的弹幕的唯一标识符,将当前屏幕显示的textView控件对应的弹幕的唯一标识符添加到List集合中;
将当前屏幕显示的textView控件与弹幕的唯一标识符的映射关系存储到codeToTextView集合中;
当当前屏幕显示的textView控件移出屏幕时,通过codeToTextView集合中的映射关系获取当前屏幕显示的textView控件所对应的弹幕的唯一标识符,并将当前屏幕显示的textView控件所对应的弹幕的唯一标识符从List集合中移除;
获取用户的弹幕显示设置指令,所述指令中包括弹幕显示区域高度设置信息;
根据所述指令从所述List集合中取出所有的当前正在显示的弹幕textView控件对应的目标唯一标识符,并通过目标唯一标识符找到对应的目标textView控件;
获取所述目标textView控件当前在所述弹幕容器对象中的高度位置信息;
根据所述弹幕显示区域高度设置信息和所述目标textView控件当前在所述弹幕容器对象中的高度位置信息,调整所述目标textView控件在所述弹幕容器对象中的高度位置信息;
根据调整后的所述目标textView控件在所述弹幕容器对象中的高度位置信息显示视频中弹幕。


2.根据权利要求1所述的方法,其特征在于,所述获取当前屏幕显示的textView控件对应的弹幕的唯一标识符,包括:
通过调用textView.hashCode()获取当前屏幕显示的textView控件对应的弹幕的唯一标识符。


3.根据权利要求2所述的方法,其特征在于,所述将当前屏幕显示的textView控件对应的弹幕的唯一标识符添加到List集合中,包括:
通过调用listDanmu.add(tvHashCode)将当前屏幕显示的textView控件对应的弹幕的唯一标识符添加到List集合中;
所述将当前屏幕显示的textView控件与弹幕的唯一标识符的映射关系存储到codeToTextView集合中,包括:
通过调用codeToTextView.put(textView,tvHashCode)方法将当前屏幕显示的textView控件与弹幕的唯一标识符的映射关系存储到codeToTextView集合中。


4.根据权利要求3所述的方法,其特征在于,所述当当前屏幕显示的textView控件移出屏幕时,通过codeToTextView集合中的映射关系获取当前屏幕显示的textView控件所对应的弹幕的唯一标识符,并将当前屏幕显示的textView控件所对应的弹幕的唯一标识符从List集合中移除,包括:
当当前屏幕显示的textView控件移出屏幕时,通过调用codeToTextView.get(textView)获取当前屏幕显示的textView控件所对应的弹幕的唯一标识符;
通过调用listDanmu.remove(hashCode)将当前屏幕显示的textView控件所对应的弹幕的唯一标识符从list集合中移除。


5.根据权利要求4所述的方法,其特征在于,所述根据所述指令从所述List集合中取出所有的当前正在显示的弹幕textView控件对应的目标唯一标识符,并通过目标唯一标识符找到对应的目标textView控件,包括:
从list集合中取出所有的当前正在显示的textView控件对应的目标唯一...

【专利技术属性】
技术研发人员:张磊
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1