一种显示虚拟礼物提示消息的方法和装置与流程

文档序号:16633118发布日期:2019-01-16 06:45阅读:211来源:国知局
一种显示虚拟礼物提示消息的方法和装置与流程

本发明涉及计算机技术领域,尤其涉及一种显示虚拟礼物提示消息的方法和装置。



背景技术:

现在,越来越多的观众喜欢观看网络直播。常用的观看设备包括移动终端和pc(个人电脑,personnelcomputer)终端。考虑到移动终端显示屏幕较小,因此直播视频、赠送给主播的虚拟礼物和观众发送的弹幕等众多信息复合显示在移动终端显示屏的同一区域内。反之,pc终端显示屏幕较大,同时为了更加清晰地展示弹幕和虚拟礼物等不同类型的信息,因此直播视频和赠送给主播的虚拟礼物分别显示在不同的区域。然而,如果pc终端的观众为获得更好的观看体验而选择全屏观看直播视频,则无法了解赠送给主播的虚拟礼物的情况。因此,现有技术存在pc终端全屏显示直播视频的同时无法显示虚拟礼物赠送情况的技术问题。



技术实现要素:

本发明实施例提供了一种显示虚拟礼物提示消息的方法和装置,用于现有技术存在pc终端全屏显示直播视频的同时无法显示虚拟礼物赠送情况的技术问题。

第一方面,本发明提供了一种显示虚拟礼物提示消息的方法,包括:

判断网络直播视频的播放器是否处于全屏状态;

如果所述播放器处于所述全屏状态,在舞台stage对象中创建一礼物提示容器类;

接收提供网络直播的服务器发送的目标虚拟礼物提示消息;

基于所述目标虚拟礼物提示消息在所述礼物提示容器类中创建对应的目标礼物渲染类;

显示所述目标礼物渲染类,以显示所述目标虚拟礼物提示消息。

可选的,所述礼物提示容器类中创建有显示数组,所述显示数组用于存储当前显示的虚拟礼物提示消息的礼物渲染类,在基于所述目标虚拟礼物提示消息在所述礼物提示容器类中创建对应的目标礼物渲染类之前,所述方法还包括:

判断所述显示数组中是否存在空白单元;

基于所述目标虚拟礼物提示消息在所述礼物提示容器类中创建对应的目标礼物渲染类,包括:

如果所述显示数组中存在所述空白单元,基于所述目标虚拟礼物提示消息在所述空白单元中创建所述目标礼物渲染类;

如果所述显示数组中不存在所述空白单元,判断所述目标虚拟礼物提示消息的优先级是否低于所述显示数组中所有所述虚拟礼物提示消息的优先级;

如果所述目标虚拟礼物提示消息的优先级不低于所述显示数组中所有所述虚拟礼物提示消息的优先级,基于所述目标虚拟礼物提示消息创建所述目标礼物渲染类;

确定出所述显示数组中优先级最低的所述虚拟礼物提示消息对应的礼物渲染类;

以所述目标礼物渲染类替换优先级最低的所述虚拟礼物提示消息对应的礼物渲染类。

可选的,所述礼物提示容器类中还创建有等待队列,如果所述显示数组中不存在所述空白单元,并且所述目标虚拟礼物提示消息的优先级低于所述显示数组中所有所述虚拟礼物提示消息的优先级,基于所述目标虚拟礼物提示消息在所述礼物提示容器类中创建对应的目标礼物渲染类,还包括:

基于所述目标虚拟礼物提示消息在所述等待队列中创建所述目标礼物渲染类;其中,所述等待队列中的各个礼物渲染类将依次被提取并存储到所述显示数组中。

可选的,所述虚拟礼物提示消息包括赠送虚拟礼物的用户标识、虚拟礼物标识以及虚拟礼物数量,在判断所述显示数组中是否存在空白单元之前,所述方法还包括:

判断所述目标虚拟礼物提示消息包括的用户标识和目标虚拟礼物标识是否与所述显示数组中的一个所述礼物渲染类包含的用户标识和虚拟礼物标识一致;

如果所述目标虚拟礼物提示消息包括的用户标识和目标虚拟礼物标识与所述显示数组中的一个所述礼物渲染类包含的用户标识和虚拟礼物标识一致,将所述礼物渲染类包含的虚拟礼物数量修改为原始数量与所述目标虚拟礼物提示消息包括的虚拟礼物数量之和。

可选的,所述方法还包括:

确定所述目标礼物渲染类的目标显示位置为当前显示的所述礼物渲染类的显示位置与预设距离之和。

可选的,在显示所述目标创建礼物渲染类之后,所述方法还包括:

判断所述播放器是否退出所述全屏状态;

如果所述播放器退出所述全屏状态,从所述stage对象中移除所述礼物提示容器类,并清空所述礼物提示容器类的内存引用。

第二方面,本发明提供了一种显示虚拟礼物提示消息的装置,包括:

第一判断模块,用于判断网络直播视频的播放器是否处于全屏状态;

第一创建模块,用于如果所述播放器处于所述全屏状态,在舞台stage对象中创建一礼物提示容器类;

接收模块,用于接收提供网络直播的服务器发送的目标虚拟礼物提示消息;

第二创建模块,用于基于所述目标虚拟礼物提示消息在所述礼物提示容器类中创建对应的目标礼物渲染类;

显示模块,用于显示所述目标礼物渲染类,以显示所述目标虚拟礼物提示消息。

可选的,所述礼物提示容器类中创建有显示数组,所述显示数组用于存储当前显示的虚拟礼物提示消息的礼物渲染类,所述装置还包括:

第二判断模块,用于在基于所述目标虚拟礼物提示消息在所述礼物提示容器类中创建对应的目标礼物渲染类之前,判断所述显示数组中是否存在空白单元;

所述第二创建模块用于如果所述显示数组中存在所述空白单元,基于所述目标虚拟礼物提示消息在所述空白单元中创建所述目标礼物渲染类;如果所述显示数组中不存在所述空白单元,判断所述目标虚拟礼物提示消息的优先级是否低于所述显示数组中所有所述虚拟礼物提示消息的优先级;如果所述目标虚拟礼物提示消息的优先级不低于所述显示数组中所有所述虚拟礼物提示消息的优先级,基于所述目标虚拟礼物提示消息创建所述目标礼物渲染类;确定出所述显示数组中优先级最低的所述虚拟礼物提示消息对应的礼物渲染类;以所述目标礼物渲染类替换优先级最低的所述虚拟礼物提示消息对应的礼物渲染类。

可选的,所述礼物提示容器类中还创建有等待队列,如果所述显示数组中不存在所述空白单元,并且所述目标虚拟礼物提示消息的优先级低于所述显示数组中所有所述虚拟礼物提示消息的优先级,所述第二创建模块还用于基于所述目标虚拟礼物提示消息在所述等待队列中创建所述目标礼物渲染类;其中,所述等待队列中的各个礼物渲染类将依次被提取并存储到所述显示数组中。

可选的,所述虚拟礼物提示消息包括赠送虚拟礼物的用户标识、虚拟礼物标识以及虚拟礼物数量,所述装置还包括:

第三判断模块,用于在判断所述显示数组中是否存在空白单元之前,判断所述目标虚拟礼物提示消息包括的用户标识和目标虚拟礼物标识是否与所述显示数组中的一个所述礼物渲染类包含的用户标识和虚拟礼物标识一致;

修改模块,用于如果所述目标虚拟礼物提示消息包括的用户标识和目标虚拟礼物标识与所述显示数组中的一个所述礼物渲染类包含的用户标识和虚拟礼物标识一致,将所述礼物渲染类包含的虚拟礼物数量修改为原始数量与所述目标虚拟礼物提示消息包括的虚拟礼物数量之和。

可选的,所述装置还包括确定模块,用于确定所述目标礼物渲染类的目标显示位置为当前显示的所述礼物渲染类的显示位置与预设距离之和。

可选的,所述装置还包括:

第四判断模块,用于在显示所述目标创建礼物渲染类之后,判断所述播放器是否退出所述全屏状态;

移除模块,用于如果所述播放器退出所述全屏状态,从所述stage对象中移除所述礼物提示容器类,并清空所述礼物提示容器类的内存引用。

第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一项所述方法的步骤。

第四方面,本发明提供了一种个人电脑pc终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面任一项所述方法的步骤。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

在本发明实施例的技术方案中,如果判断出播放器处于全屏状态,则在舞台stage对象中一创建礼物提示容器类,以及基于服务器发送的目标虚拟礼物提示消息在所述礼物提示容器类中创建对应的目标礼物渲染类,并进一步显示所述目标礼物渲染类,从而在所述全屏状态下显示所述目标虚拟礼物提示消息,所以解决了现有技术存在的pc终端全屏显示直播视频的同时无法显示虚拟礼物赠送情况的技术问题,实现了全屏显示直播视频的同时显示虚拟礼物提示消息的技术效果。

附图说明

图1为本发明实施例中显示虚拟礼物提示消息的方法流程图;

图2为本发明实施例中显示虚拟礼物提示消息的装置结构示意图;

图3为本发明实施例中pc设备的结构示意图。

具体实施方式

本发明实施例提供了一种显示虚拟礼物提示消息的方法和装置,用于现有技术存在pc终端全屏显示直播视频的同时无法显示虚拟礼物赠送情况的技术问题。

为了解决上述技术问题,本发明提供的技术方案总体思路如下:

在本发明实施例的技术方案中,如果判断出播放器处于全屏状态,则在舞台stage对象中一创建礼物提示容器类,以及基于服务器发送的目标虚拟礼物提示消息在所述礼物提示容器类中创建对应的目标礼物渲染类,并进一步显示所述目标礼物渲染类,从而在所述全屏状态下显示所述目标虚拟礼物提示消息,所以解决了现有技术存在的pc终端全屏显示直播视频的同时无法显示虚拟礼物赠送情况的技术问题,实现了全屏显示直播视频的同时显示虚拟礼物提示消息的技术效果。

下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本发明第一方面提供了一种显示虚拟礼物提示消息的方法,请参考图1,为本发明实施例中显示虚拟礼物提示消息的方法流程图。该方法包括:

s101:判断网络直播视频的播放器是否处于全屏状态;

s102:如果所述播放器处于所述全屏状态,在舞台stage对象中创建一礼物提示容器类;

s103:接收提供网络直播的服务器发送的目标虚拟礼物提示消息;

s104:基于所述目标虚拟礼物提示消息在所述礼物提示容器类中创建对应的目标礼物渲染类;

s105:显示所述目标礼物渲染类,以显示所述目标虚拟礼物提示消息。

具体来讲,本发明实施例的技术方案可应用在pc终端,且播放器具体为利用闪客flash制作的播放器。pc终端例如台式机、笔记本电脑或一体机等。

首先,在s101中,判断正在播放网络直播的播放器是否进入全屏状态。具体来讲,为判断播放器是否进入全屏状态,本发明实施例在播放器初始化时获取flash的舞台stage对象,并通过onresize方法监听stage对象的resize事件。在播放器播放直播视频的过程中,获取onresize方法监听resize事件而获得的displaystate字段的枚举值。然后,判断displaystate字段的枚举值是否为表示全屏状态的stagedisplaystate.full_screen。如果displaystate字段的枚举值为stagedisplaystate.full_screen,则确定播放器处于全屏状态。如果displaystate字段的枚举值不为stagedisplaystate.full_screen,而为stagedisplaystate.normal,则确定播放器不处于全屏状态。

接下来,如果播放器进入全屏状态,那么在s102中,在stage对象中创建一个礼物提示容器类giftbrodcastbox作为显示虚拟礼物提示消息的容器类。

接下来,如果播放器当前播放的直播视频的主播接收到观众赠送的虚拟礼物,那么服务器会按照每个虚拟礼物的情况生成对应的一个虚拟礼物提示消息,并发送给所有观看该直播视频的pc终端。在本发明实施例中,虚拟礼物提示消息包括但不限于赠送虚拟礼物的用户标识(例如用户名或id)、虚拟礼物标识(例如虚拟礼物的编号或名称)、赠送的虚拟礼物数量、显示时间、虚拟礼物的价值、虚拟礼物的图片以及显示背景等。另外,为了便于介绍,将pc终端最新接收到的虚拟礼物提示消息称为“目标虚拟礼物提示消息”。

接下来,在s103中,pc终端接收服务器发送的目标虚拟礼物提示消息。然后,在s104中,基于目标虚拟礼物提示消息在giftbrodcastbox类中创建目标虚拟礼物提示消息的目标礼物渲染类giftbrodcastview。

下来对为虚拟礼物提示消息创建giftbrodcastview类进行介绍。

具体来讲,本发明实施例中的giftbrodcastview类是最终显示给观众观看的类,因此本发明实施例让giftbrodcastview类继承sprited对象,以作为显示对象。

定义变量datasource,用于存储虚拟礼物提示消息的内容,包括用户标识、虚拟礼物标识、虚拟礼物数量、虚拟礼物的价值、虚拟礼物的图片以及显示背景等。

定义start方法,用于控制虚拟礼物提示信息的显示时间。在start方法中创建一个计时器timer,timer的监听时间就设置为显示时间。在具体实现过程中,显示时间可以为缺省设置,也可以为虚拟礼物提示信息包含的显示时间设置,本发明不做具体限制。当timer的监听时间到达,start方法调用dispose方法该giftbrodcastview类,进而不在显示虚拟礼物提示消息。

根据上述创建giftbrodcastview类的介绍,在接收到目标虚拟礼物提示消息后,giftbrodcastbox类调用createitem方法按照类似的过程创建对应的目标giftbrodcastview类,这里就不再重复赘述了。

最后,在s105中,显示该目标giftbrodcastview类。具体来讲,当需要显示一个giftbrodcastview类时,调用giftbrodcastview类的show方法。show方法会读取变量datasource中存储的虚拟礼物提示消息,并通过一个ui(用户界面,userinterface)显示读取到的虚拟礼物提示消息。那么,s105中,则调用目标giftbrodcastview类的show方法从而将目标虚拟礼物提示消息显示在全屏状态的播放器上。

由上述描述看出,如果判断出播放器处于全屏状态,则在stage对象中一创建礼物提示容器类,以及基于服务器发送的目标虚拟礼物提示消息在礼物提示容器类中创建对应的目标礼物渲染类,并进一步显示目标礼物渲染类,从而在全屏状态下显示目标虚拟礼物提示消息,所以解决了现有技术存在的pc终端全屏显示直播视频的同时无法显示虚拟礼物赠送情况的技术问题,实现了全屏显示直播视频的同时显示虚拟礼物提示消息。

进一步,由于在具体实现过程中,可能会有多个观众赠送主播虚拟礼物,故而pc终端就可能需要同时显示多个虚拟礼物提示消息。因此,作为一种可选的实施例,giftbrodcastbox类中还创建有显示数组list,显示数组list用于存储当前显示的虚拟礼物提示消息的giftbrodcastview类。具体来讲,在giftbrodcastbox类定义变量max,max的值为允许同时显示的giftbrodcastview类的数量,所以,通过设置max的值就可以设置同时显示虚拟礼物提示消息的数量。在具体实现过程中,本发明所属领域的普通技术人员可以根据实际设置max,本发明不做具体限制。

进一步,定义init方法,用于初始化list,并在list中创建数量与max值一致的空白单元。为了方便介绍,令max=n,n为正整数,那么,init方法在list中创建n个空白单元,使得最多同时显示n个虚拟礼物提示消息。

在该可选的实施例中,在s104之前,所述方法还包括:

判断所述显示数组中是否存在空白单元;

s104,包括:

如果所述显示数组中存在所述空白单元,基于所述目标虚拟礼物提示消息在所述空白单元中创建所述目标礼物渲染类;

如果所述显示数组中不存在所述空白单元,判断所述目标虚拟礼物提示消息的优先级是否低于所述显示数组中所有所述虚拟礼物提示消息的优先级;

如果所述目标虚拟礼物提示消息的优先级不低于所述显示数组中所有所述虚拟礼物提示消息的优先级,基于所述目标虚拟礼物提示消息创建所述目标礼物渲染类;

确定出所述显示数组中优先级最低的所述虚拟礼物提示消息对应的礼物渲染类;

以所述目标礼物渲染类替换优先级最低的所述虚拟礼物提示消息对应的礼物渲染类。

具体来讲,在s104中为目标虚拟礼物提示消息创建giftbrodcastview类之前,调用giftbrodcastbox类的findemptyindex方法搜索空白单元,进而判断list中是否还存在空白单元,进而判断此时是否还能够继续在播放器上显示下一个虚拟礼物提示消息。在本发明实施例中,针对不同的判断结果,s104可以有不同的实现方式,下面就进行详细说明。

第一种:

如果显示数组中存在空白单元,基于目标虚拟礼物提示消息在空白单元中创建目标礼物渲染类。

具体来讲,如果findemptyindex方法返回值为true,表示list中还存在空白单元,即当前显示的虚拟礼物提示消息尚未达到n,还能够继续在播放器上显示下一个虚拟礼物提示消息。那么,直接在其中一个空白单元中创建目标giftbrodcastview类即可。

由上述描述可知,在当前显示的虚拟礼物提示消息尚未达到最大值时,直接在空白单元中创建目标giftbrodcastview类,可以使得目标虚拟礼物提示消息及时被显示,避免排队等待。

第二种:

如果所述显示数组中不存在所述空白单元,判断所述目标虚拟礼物提示消息的优先级是否低于所述显示数组中所有所述虚拟礼物提示消息的优先级;

如果所述目标虚拟礼物提示消息的优先级不低于所述显示数组中所有所述虚拟礼物提示消息的优先级,基于所述目标虚拟礼物提示消息创建所述目标礼物渲染类;

确定出所述显示数组中优先级最低的所述虚拟礼物提示消息对应的礼物渲染类;

以所述目标礼物渲染类替换优先级最低的所述虚拟礼物提示消息对应的礼物渲染类。

具体来讲,如果findemptyindex方法返回值为false,表示list中已不存在空白单元,即当前显示的虚拟礼物提示消息达到n,无法继续在播放器上显示下一个虚拟礼物提示消息,在本发明实施例中,则进一步对比目标虚拟礼物提示消息的优先级和list中所有虚拟礼物提示消息的优先级。如果目标虚拟礼物提示消息的优先级不低于list中所有虚拟礼物提示消息的优先级,那么创建目标giftbrodcastview类,并替换优先级最低的giftbrodcastview类。

具体来讲,虚拟礼物提示消息中可以直接包含虚拟礼物的优先级,或者,虚拟礼物提示消息中也可以包含虚拟礼物的价值,进而pc终端通过对比虚拟礼物的价值来判断优选级高低。下面以虚拟礼物的价值作为优先级来进行说明。

当确定list中不存在空白单元时,读取list每个单元存储的giftbrodcastview类的datasource,并且从每个datasource中提取出当前显示的每个虚拟礼物的价值。以及,提取目标虚拟礼物提示消息的目标虚拟礼物的价值。然后,将目标虚拟礼物的价值与每个当前显示的虚拟礼物的价值进行比较。如果每个当前显示的虚拟礼物的价值均大于等于目标虚拟礼物的价值,那么表示目标虚拟礼物提示消息的优先级低于list中所有虚拟礼物提示消息的优先级。而如果至少一个当前显示的虚拟礼物的价值小于目标虚拟礼物的价值,那么表示目标虚拟礼物提示消息的优先级不低于list中所有虚拟礼物提示消息的优先级。

接下来,如果目标虚拟礼物提示消息的优先级不低于list中所有虚拟礼物提示消息的优先级,那么及时创建目标虚拟礼物提示消息的目标giftbrodcastview类。另外,从当前显示的虚拟礼物提示消息中确定出虚拟礼物价值最低的虚拟礼物提示消息。然后,以目标giftbrodcastview类替换该虚拟礼物价值最低的虚拟礼物提示消息的giftbrodcastview类。进而,使得目标虚拟礼物提示消息替换该虚拟礼物价值最低的虚拟礼物提示消息进行显示。

由上述描述可知,在当前显示的虚拟礼物提示消息达到最大值时,进一步比较目标虚拟礼物提示消息与当前显示的虚拟礼物提示消息的优先级,并且在目标虚拟礼物提示消息的优先级不低于所有当前显示的虚拟礼物提示消息的优先级时,以目标giftbrodcastview类替换优先级最低的虚拟礼物提示消息的giftbrodcastview类,所以,即使当前显示的虚拟礼物提示消息达到最大值,优先级高的虚拟礼物提示消息也能够被即使显示,避免排队等待。同时,以目标giftbrodcastview类替换该优先级最低的虚拟礼物提示消息的giftbrodcastview类,还避免了优先级较低的虚拟礼物提示消息占用资源。

第三种:

如果显示数组中不存在空白单元,并且目标虚拟礼物提示消息的优先级低于显示数组中所有虚拟礼物提示消息的优先级,基于目标虚拟礼物提示消息在礼物提示容器类中创建对应的目标礼物渲染类,还包括:

基于所述目标虚拟礼物提示消息在所述等待队列中创建所述目标礼物渲染类;其中,所述等待队列中的各个礼物渲染类将依次被提取并存储到所述显示数组中。

giftbrodcastbox类中还创建有等待队列queuelist,等待队列queuelist用于存储等待显示的giftbrodcastview类。当list中出现空白单元,暂未接收最新的虚拟礼物提示消息,或者最新接收的虚拟礼物提示礼物消息不满足前两种情况时,那么依次从queuelist中读取排序在前的giftbrodcastview类。在具体实现过程中,由于观众赠送主播虚拟礼物具有随机性,故而queuelist的空白单元数量可以根据实际设置,本发明不做具体限制。

如果list中不存在空白单元,并且目标虚拟礼物提示消息的优先级低于list中所有虚拟礼物提示消息的优先级,那么目标虚拟礼物提示消息就不能立刻显示。此时,在本发明实施例中,基于目标虚拟礼物提示消息创建目标giftbrodcastview类,并将该目标giftbrodcastview类存储在queuelist的队尾,以使目标giftbrodcastview类排队等待显示。

进一步,由于在具体实现过程中,同一个观众可能会重复赠送主播相同的虚拟礼物,因此,作为一种可选的实施例,在判断显示数组中是否存在空白单元之前,所述方法还包括:

判断所述目标虚拟礼物提示消息包括的用户标识和目标虚拟礼物标识是否与所述显示数组中的一个所述礼物渲染类包含的用户标识和虚拟礼物标识一致;

如果所述目标虚拟礼物提示消息包括的用户标识和目标虚拟礼物标识与所述显示数组中的一个所述礼物渲染类包含的用户标识和虚拟礼物标识一致,将所述礼物渲染类包含的虚拟礼物数量修改为原始数量与所述目标虚拟礼物提示消息包括的虚拟礼物数量之和。

具体来讲,在该种实施方式中,虚拟礼物提示消息包括用户标识、虚拟礼物标识以及虚拟礼物数量。在接收目标虚拟礼物提示消息之后,获取目标虚拟礼物提示消息中的用户标识和虚拟礼物标识。以及,获取list中每个giftbrodcastview类的datasource,并提取其中每个datasource的用户标识和虚拟礼物标识。然后,调用giftbrodcastbox类的check方法,对比每个datasource的用户标识和虚拟礼物标识是否与目标虚拟礼物提示消息中的用户标识和虚拟礼物标识一致。

如果其中有一个datasource的用户标识和虚拟礼物标识与目标虚拟礼物提示消息中的用户标识和虚拟礼物标识均一致,表示该用户标识对应的用户再次赠送了主播相同的虚拟礼物。那么,在本发明实施例中,为了节约设备资源,并且提高显示虚拟礼物提示消息的效率,将该datasource中的虚拟礼物数量修改为该datasource中原始虚拟礼物数量与目标虚拟礼物提示消息包括的虚拟礼物数量之和。

反之,如果所有datasource的用户标识和虚拟礼物标识与目标虚拟礼物提示消息中的用户标识和虚拟礼物标识均不一致,表示没有相同的用户再次赠送主播相同的虚拟礼物,故而进一步判断list中是否存在空白单元,然后按照上文所述的方法进行显示,这里就不再重复赘述了。

举例来说,假设目标虚拟礼物提示消息具体为(a,玫瑰花,3)。(a,玫瑰花,3)表示用户标识为“a”,虚拟礼物标识为“玫瑰花”,虚拟礼物数量为3。在接收该目标虚拟礼物提示消息之后,提取用户标识a和虚拟礼物标识玫瑰花,以及获取list中每个datasource的用户标识和虚拟礼物标识。然后,调用giftbrodcastbox类的check方法,对比每个datasource的用户标识和虚拟礼物标识是否与目标虚拟礼物提示消息中的用户标识和虚拟礼物标识一致。假设其中一个datasource的用户标识也为a,虚拟礼物标识也为玫瑰花,而虚拟礼物数量为2。那么,调用该个giftbrodcastview类的update方法将该giftbrodcastview类的datasource的虚拟礼物数量修改为2和3之和,即5。

进一步,修改了datasource的giftbrodcastview类的timer需要重置,以保证能够重新按显示时间显示更新后的虚拟礼物提示消息。还是沿用(a,玫瑰花,3)的例子来说,假设用户标识也为a且虚拟礼物标识也为玫瑰花的giftbrodcastview类的timer为10秒。在确定目标虚拟礼物提示消息(a,玫瑰花,3)的用户标识和虚拟礼物标识与该giftbrodcastview类一致时,timer监听时间已经为9秒。在将该giftbrodcastview类的虚拟礼物数量修改为5后,将timer重置为10秒,进而重新显示giftbrodcastview类10秒。

由上述描述可以看出,如果同一个用户再次赠送了相同的虚拟礼物,而上一次赠送该虚拟礼物提示的消息当前正在显示,那么将该虚拟礼物提示消息中的虚拟礼物数量修改为两者之和,从而不必再重新为新接收的虚拟礼物提示消息创建一个giftbrodcastview类,既然高了显示效率,还节约了设备资源开销。

进一步,如果同时显示至少两个虚拟礼物提示消息,为了避免重叠,本发明实施例中的方法还包括:

确定所述目标礼物渲染类的目标显示位置为当前显示的所述礼物渲染类的显示位置与预设距离之和。

具体来讲,预先在giftbrodcastbox类中定义变量gap,用于指示相邻两个虚拟礼物提示消息之间的预设距离。

当目标giftbrodcastview类需要显示时,目标giftbrodcastview类的show方法获取上一个虚拟礼物提示消息的显示位置,然后将上一个虚拟礼物提示消息的显示位置加上预设距离,由此获得目标虚拟礼物提示消息的显示位置。最终在计算出的显示位置处显示目标虚拟礼物提示消息。

更具体地,如果多个虚拟礼物提示消息水平排列,则gap具体为指示相邻两个虚拟礼物提示消息的之间宽度间隔,show方法具体获取上一个虚拟礼物提示消息的右边缘位置,并计算出目标虚拟礼物提示消息的左边缘位置。如果多个虚拟礼物提示消息垂直排列,则gap具体为指示相邻两个虚拟礼物提示消息的之间高度间隔,show方法具体获取上一个虚拟礼物提示消息的下边缘位置,并计算出目标虚拟礼物提示消息的上边缘位置。在具体实现过程中,本发明所属领域的普通技术人员可以根据实际进行选择,本发明不做具体限制。

由上述描述可知,通过计算当前显示的礼物渲染类giftbrodcastview类的显示位置与预设距离之和来确定目标虚拟礼物提示消息的显示位置,因此目标虚拟礼物提示消息的显示位置可以根据实际显示情况动态调整,因此不再需要预先设置固定的显示位置,有利于虚拟礼物提示消息的动态扩展。

可选的,在显示目标创建礼物渲染类之后,所述方法还包括:

判断所述播放器是否退出所述全屏状态;

如果所述播放器退出所述全屏状态,从所述stage对象中移除所述礼物提示容器类,并清空所述礼物提示容器类的内存引用。

具体来讲,当播放器进入全屏状态后,继续通过onresize方法监听stage对象的resize事件,并判断displaystate字段的枚举值是否为stagedisplaystate.normal。当onresize方法返回的displaystate字段的枚举值切换为stagedisplaystate.normal,则判断播放器退出了全屏状态。

由于播放器退出全屏后,可以在原始显示虚拟礼物提示消息的区域继续显示虚拟礼物提示消息,故而,如果播放器退出了全屏状态,在本发明实施例中,将从stage对象中移除giftbrodcastbox类,并清空giftbrodcastbox类的内存引用。由此,避免giftbrodcastbox类后台运行而造成设备资源开销。

可选的,为了避免显示虚拟礼物提示消息的过程中,用户误点击虚拟礼物提示消息,因此,在具体实现过程中,可以设置显示的虚拟礼物提示消息不响应用户的鼠标点击操作。具体来讲,创建giftbrodcastbox类后,进一步将giftbrodcastbox类的mouseenabled和mousechildren赋值为false,以及创建每个giftbrodcastview类之后,将每个giftbrodcastview类的mouseenabled和mousechildren也赋值为false,从而使得giftbrodcastbox类和giftbrodcastview类都不响应鼠标点击操作。

基于与前述实施例中显示虚拟礼物提示消息的方法同样的发明构思,本发明第二方面还提供一种显示虚拟礼物提示消息的装置,如图2所示,包括:

第一判断模块101,用于判断网络直播视频的播放器是否处于全屏状态;

第一创建模块102,用于如果所述播放器处于所述全屏状态,在舞台stage对象中创建一礼物提示容器类;

接收模块103,用于接收提供网络直播的服务器发送的目标虚拟礼物提示消息;

第二创建模块104,用于基于所述目标虚拟礼物提示消息在所述礼物提示容器类中创建对应的目标礼物渲染类;

显示模块105,用于显示所述目标礼物渲染类,以显示所述目标虚拟礼物提示消息。

可选的,所述礼物提示容器类中创建有显示数组,所述显示数组用于存储当前显示的虚拟礼物提示消息的礼物渲染类,所述装置还包括:

第二判断模块,用于在基于所述目标虚拟礼物提示消息在所述礼物提示容器类中创建对应的目标礼物渲染类之前,判断所述显示数组中是否存在空白单元;

第二创建模块104用于如果所述显示数组中存在所述空白单元,基于所述目标虚拟礼物提示消息在所述空白单元中创建所述目标礼物渲染类;如果所述显示数组中不存在所述空白单元,判断所述目标虚拟礼物提示消息的优先级是否低于所述显示数组中所有所述虚拟礼物提示消息的优先级;如果所述目标虚拟礼物提示消息的优先级不低于所述显示数组中所有所述虚拟礼物提示消息的优先级,基于所述目标虚拟礼物提示消息创建所述目标礼物渲染类;确定出所述显示数组中优先级最低的所述虚拟礼物提示消息对应的礼物渲染类;以所述目标礼物渲染类替换优先级最低的所述虚拟礼物提示消息对应的礼物渲染类。

可选的,所述礼物提示容器类中还创建有等待队列,如果所述显示数组中不存在所述空白单元,并且所述目标虚拟礼物提示消息的优先级低于所述显示数组中所有所述虚拟礼物提示消息的优先级,第二创建模块104还用于基于所述目标虚拟礼物提示消息在所述等待队列中创建所述目标礼物渲染类;其中,所述等待队列中的各个礼物渲染类将依次被提取并存储到所述显示数组中。

可选的,所述虚拟礼物提示消息包括赠送虚拟礼物的用户标识、虚拟礼物标识以及虚拟礼物数量,所述装置还包括:

第三判断模块,用于在判断所述显示数组中是否存在空白单元之前,判断所述目标虚拟礼物提示消息包括的用户标识和目标虚拟礼物标识是否与所述显示数组中的一个所述礼物渲染类包含的用户标识和虚拟礼物标识一致;

修改模块,用于如果所述目标虚拟礼物提示消息包括的用户标识和目标虚拟礼物标识与所述显示数组中的一个所述礼物渲染类包含的用户标识和虚拟礼物标识一致,将所述礼物渲染类包含的虚拟礼物数量修改为原始数量与所述目标虚拟礼物提示消息包括的虚拟礼物数量之和。

可选的,所述装置还包括确定模块,用于确定所述目标礼物渲染类的目标显示位置为当前显示的所述礼物渲染类的显示位置与预设距离之和。

可选的,所述装置还包括:

第四判断模块,用于在显示所述目标创建礼物渲染类之后,判断所述播放器是否退出所述全屏状态;

移除模块,用于如果所述播放器退出所述全屏状态,从所述stage对象中移除所述礼物提示容器类,并清空所述礼物提示容器类的内存引用。

前述图1实施例中的显示虚拟礼物提示消息的方法的各种变化方式和具体实例同样适用于本实施例的显示虚拟礼物提示消息的装置,通过前述对显示虚拟礼物提示消息的方法的详细描述,本领域技术人员可以清楚的知道本实施例中显示虚拟礼物提示消息的装置的实施方法,所以为了说明书的简洁,在此不再详述。

基于与前述实施例中显示虚拟礼物提示消息的方法同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述显示虚拟礼物提示消息的方法的任一方法的步骤。

基于与前述实施例中显示虚拟礼物提示消息的方法同样的发明构思,本发明还提供一种pc终端,如图3所示,包括存储器204、处理器202及存储在存储器204上并可在处理器202上运行的计算机程序,所述处理器202执行所述程序时实现前文所述显示虚拟礼物提示消息的方法的任一方法的步骤。

其中,在图3中,总线架构(用总线200来代表),总线200可以包括任意数量的互联的总线和桥,总线200将包括由处理器202代表的一个或多个处理器和存储器204代表的存储器的各种电路链接在一起。总线200还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口206在总线200和接收器201和发送器203之间提供接口。接收器201和发送器203可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。

处理器202负责管理总线200和通常的处理,而存储器204可以被用于存储处理器202在执行操作时所使用的数据。

前述图1实施例中的显示虚拟礼物提示消息的方法的各种变化方式和具体实例同样适用于本实施例的pc终端,通过前述对显示虚拟礼物提示消息的方法的详细描述,本领域技术人员可以清楚的知道本实施例中pc终端的实施方法,所以为了说明书的简洁,在此不再详述。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

在本发明实施例的技术方案中,如果判断出播放器处于全屏状态,则在舞台stage对象中一创建礼物提示容器类,以及基于服务器发送的目标虚拟礼物提示消息在所述礼物提示容器类中创建对应的目标礼物渲染类,并进一步显示所述目标礼物渲染类,从而在所述全屏状态下显示所述目标虚拟礼物提示消息,所以解决了现有技术存在的pc终端全屏显示直播视频的同时无法显示虚拟礼物赠送情况的技术问题,实现了全屏显示直播视频的同时显示虚拟礼物提示消息的技术效果。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1