弹幕消息分发方法、装置、设备及存储介质制造方法及图纸

技术编号:19783482 阅读:27 留言:0更新日期:2018-12-15 12:56
本发明专利技术实施例公开了一种弹幕消息分发方法、装置、设备及存储介质。该方法包括:广播发布模块依据待分发弹幕消息及预定义的广播发送动作描述,构建广播意图对象,并广播广播意图对象;广播处理模块依据广播发送动作描述和弹幕分发对象的广播接收动作描述,将广播意图对象发送至弹幕分发对象,弹幕分发对象预先注册为系统广播接收器,广播发送动作描述和广播接收动作描述对应一致;弹幕分发对象调用广播接收函数,接收广播意图对象,并依据广播意图对象获取待分发弹幕消息。通过上述技术方案,实现了基于Android系统的广播机制,将弹幕消息直达式分发至音视频播放/直播应用软件中的各个弹幕分发对象,提高了弹幕消息的分发效率。

【技术实现步骤摘要】
弹幕消息分发方法、装置、设备及存储介质
本专利技术实施例涉及计算机技术,尤其涉及一种弹幕消息分发方法、装置、设备及存储介质。
技术介绍
在诸如斗鱼的音视频播放应用软件中,会大量使用弹幕消息。通常,这些弹幕消息是由音视频播放应用软件逐条分发给需要使用弹幕消息的各个弹幕分发目标,如视图、业务控制器或数据管理器等。以弹幕分发目标为视图为例,目前,对于安装于Android系统的音视频播放应用软件,其向各个视图分发弹幕消息的方式是逐层传递的方式。具体来说,Android系统中的各个视图是按照层级关系布设的,那么基于该层级关系,可以构建各个视图之间的引用关系链。弹幕消息在各个视图之间的传递,便是按照上述引用关系链进行逐层传递的。参见图1,如果一个位于第三视图层104中的视图需要获取到弹幕消息101,那么该弹幕消息101需要按照引用关系链,先传递至第一视图层102,再由第一视图层102传递至第二视图层103,并最终由第二视图层103再传递至第三视图层104。这样,该视图获取弹幕消息的过程就比较复杂,用时较长,效率较低。而且,即便第一视图层102和第二视图层103中的视图不需要该弹幕消息,其也必须接收并传递该弹幕消息,无疑会造成系统资源的浪费。现有的弹幕消息在音视频播放应用软件中的分发方式存在分发过程复杂,分发效率低以及系统资源消耗较高的问题。
技术实现思路
本专利技术实施例提供一种弹幕消息分发方法、装置、设备及存储介质,以实现音视频播放/直播应用软件中弹幕消息的直达式分发,使得各个弹幕分发对象能够直接获得弹幕消息,提高了弹幕消息的分发效率。第一方面,本专利技术实施例提供了一种弹幕消息分发方法,包括:广播发布模块依据待分发弹幕消息及预定义的广播发送动作描述,构建广播意图对象,并广播所述广播意图对象;广播处理模块依据所述广播发送动作描述和弹幕分发对象的广播接收动作描述,将所述广播意图对象发送至所述弹幕分发对象,所述弹幕分发对象预先注册为系统广播接收器,所述广播发送动作描述和所述广播接收动作描述对应一致;所述弹幕分发对象调用广播接收函数,接收所述广播意图对象,并依据所述广播意图对象获取所述待分发弹幕消息。第二方面,本专利技术实施例还提供了一种弹幕消息分发装置,该装置包括:广播发布模块,用于依据待分发弹幕消息及预定义的广播发送动作描述,构建广播意图对象,并广播所述广播意图对象;广播处理模块,用于依据所述广播发送动作描述和弹幕分发对象的广播接收动作描述,将所述广播意图对象发送至所述弹幕分发对象,所述弹幕分发对象预先注册为系统广播接收器,所述广播发送动作描述和所述广播接收动作描述对应一致;弹幕消息接收模块,用于所述弹幕分发对象调用广播接收函数,接收所述广播意图对象,并依据所述广播意图对象获取所述待分发弹幕消息。第三方面,本专利技术实施例还提供了一种设备,该设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术任意实施例所提供的弹幕消息分发方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本专利技术任意实施例所提供的弹幕消息分发方法。本专利技术实施例通过预先将弹幕分发对象注册为系统广播接收器,使得弹幕分发对象能够直接接收Android系统中广播的系统广播消息,为弹幕消息的直达式分发提供基础。通过广播发布模块依据待分发弹幕消息和与弹幕分发对象注册为系统广播接收器时设置的广播接收动作描述对应一致的广播发送动作描述,构建广播意图对象,并将该广播意图对象进行系统广播;广播处理模块依据广播发送动作描述和弹幕分发对象的广播接收动作描述,将广播意图对象发送至弹幕分发对象;弹幕分发对象调用广播接收函数,接收广播意图对象,并依据广播意图对象获取待分发弹幕消息。实现了基于Android系统的广播机制,将弹幕消息直达式分发至音视频播放/直播应用软件中的各个弹幕分发对象,提高了弹幕消息的分发效率。附图说明图1是现有技术中弹幕消息分发的过程示意图;图2是本专利技术实施例一中的一种弹幕消息分发方法的流程图;图3是本专利技术实施例一中的弹幕消息分发的过程示意图;图4是本专利技术实施例二中的一种弹幕消息分发方法的流程图;图5是本专利技术实施例三中的一种弹幕消息分发装置的结构示意图;图6是本专利技术实施例四中的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一本实施例提供的弹幕消息分发方法,可适用于Android客户端将接收到的弹幕消息,分发至音视频播放/直播应用软件内的各个弹幕分发对象。该方法可以由弹幕消息分发装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在安装有音视频播放/直播应用软件的设备中,例如典型的是用户终端设备,例如手机、平板电脑或智能电视等。参见图2,本实施例的方法具体包括如下步骤:S110、广播发布模块依据待分发弹幕消息及预定义的广播发送动作描述,构建广播意图对象,并广播广播意图对象。其中,广播发布模块是Android系统中发布系统广播的模块。待分发弹幕消息是指等待分发至弹幕分发对象的弹幕消息,其是Android客户端从弹幕服务器中获取。具体的获取方式可以是Android客户端向弹幕服务器发送数据获取请求,弹幕服务器被动响应数据获取请求来获取;优选是通过Android客户端中预先建立的弹幕监听器接口对象及弹幕监听器接口对象中作为回调函数的消息传输函数,接收弹幕服务器中的弹幕库对象回调消息传输函数发送的弹幕消息,弹幕监听器接口对象用于监听弹幕服务器中的弹幕库对象。也就是说,Android客户端从服务器获取弹幕消息是通过Android客户端中设置弹幕监听器接口对象,对弹幕服务器中的弹幕库对象进行监听,为弹幕服务器发送弹幕消息至Android客户端提供接口,且弹幕监听器中包含回调函数,为弹幕服务器发送弹幕消息至Android客户端提供调用函数指针。当弹幕消息到达弹幕服务器时,触发弹幕服务器主动调用回调函数,即弹幕服务器通过回调函数的函数指针,将弹幕消息由弹幕监听器接口发送至Android客户端,Android客户端则及时地、被动地接收弹幕消息,即待分发弹幕消息。广播发送动作描述是指对发送的广播消息所具有的动作功能进行的描述或说明,其通常是广播发送动作的简称或关键词,其可以为系统动作描述,也可以是预先进行自定义的广播动作描述。由于本专利技术实施例中只需进行弹幕消息的分发与接收,故广播发送动作描述action只需描述发送的消息为弹幕消息即可,例如广播发送动作描述action可以为“android.danmu.message”。广播意图对象是指发送广播时广播出去的意图对象intent,其是Android系统中广播消息的数据承载者。具体地,在利用Android系统提供的广播机制进行弹幕消息的分发之前,需要先将待分发弹幕消息和广播发送动作描述构建为可用于广播发送的数据格式。具体实施时,将广播发送动作描述作为广播意图对象intent构建的动作ac本文档来自技高网...

【技术保护点】
1.一种弹幕消息分发方法,其特征在于,包括:广播发布模块依据待分发弹幕消息及预定义的广播发送动作描述,构建广播意图对象,并广播所述广播意图对象;广播处理模块依据所述广播发送动作描述和弹幕分发对象的广播接收动作描述,将所述广播意图对象发送至所述弹幕分发对象,所述弹幕分发对象预先注册为系统广播接收器,所述广播发送动作描述和所述广播接收动作描述对应一致;所述弹幕分发对象调用广播接收函数,接收所述广播意图对象,并依据所述广播意图对象获取所述待分发弹幕消息。

【技术特征摘要】
1.一种弹幕消息分发方法,其特征在于,包括:广播发布模块依据待分发弹幕消息及预定义的广播发送动作描述,构建广播意图对象,并广播所述广播意图对象;广播处理模块依据所述广播发送动作描述和弹幕分发对象的广播接收动作描述,将所述广播意图对象发送至所述弹幕分发对象,所述弹幕分发对象预先注册为系统广播接收器,所述广播发送动作描述和所述广播接收动作描述对应一致;所述弹幕分发对象调用广播接收函数,接收所述广播意图对象,并依据所述广播意图对象获取所述待分发弹幕消息。2.根据权利要求1所述的方法,其特征在于,所述弹幕分发对象预先注册为系统广播接收器包括:确定包含系统广播接收器注册注解及所述广播接收函数的系统广播接收器注册基类,所述系统广播接收器注册注解为编译时注解;所述弹幕分发对象继承所述系统广播接收器注册基类,以获得所述系统广播接收器注册注解及所述广播接收函数,以使所述弹幕分发对象在程序编译期间预先注册为所述系统广播接收器。3.根据权利要求2所述的方法,其特征在于,所述广播处理模块依据所述广播发送动作描述和弹幕分发对象的广播接收动作描述,将所述广播意图对象发送至所述弹幕分发对象包括:所述广播处理模块依据所述弹幕分发对象中的所述系统广播接收器注册注解,确定所述弹幕分发对象的广播接收动作描述;所述广播处理模块依据所述广播发送动作描述和所述广播接收动作描述,将所述广播意图对象发送至所述弹幕分发对象。4.根据权利要求2所述的方法,其特征在于,所述系统广播接收器注册注解通过调用预定义的注解处理器中的注解处理函数,在程序编译期间,将所述弹幕分发对象预先注册为所述系统广播接收器;所述注解处理函数通过如下步骤实现所述在程序编译期间将所述弹幕分发对象注册为所述系统广播接收器的功能:通过调用文件对象中的文件写入对象创建函数,构建文件写入对象,所述文件对象通过文件创建函数预先创建;将所述文件写入对象转换为缓存写入对象;以所述弹幕分发对象标识及所述广播接收动作描述为函数输入参数,调用所述缓存写入对象中的写入函数,将系统广播接收器注册代码写入Android系统的应用描述文件,所述应用描述文件在编译期间被调用。5.根据权利要求1所述的方法,其特征在于,所述广播发布模块依据待分发弹幕消息及预定义的广播发送动作描述,构建广播意图对象包括:所...

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

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

1