CN108933947A - 弹幕显示方法及装置 - Google Patents

弹幕显示方法及装置 Download PDF

Info

Publication number
CN108933947A
CN108933947A CN201710380276.0A CN201710380276A CN108933947A CN 108933947 A CN108933947 A CN 108933947A CN 201710380276 A CN201710380276 A CN 201710380276A CN 108933947 A CN108933947 A CN 108933947A
Authority
CN
China
Prior art keywords
barrage
channel
message
user
barrage message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710380276.0A
Other languages
English (en)
Other versions
CN108933947B (zh
Inventor
汪刚
张文明
陈少杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710380276.0A priority Critical patent/CN108933947B/zh
Publication of CN108933947A publication Critical patent/CN108933947A/zh
Application granted granted Critical
Publication of CN108933947B publication Critical patent/CN108933947B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25875Management of end-user data involving end-user authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4314Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles

Abstract

本发明提供一种弹幕显示方法及装置,属于视频直播技术领域。该方法包括:获取服务器推送的弹幕消息,以及发送弹幕消息对应用户的权限信息;基于权限信息,获取相应的显示素材;将显示素材及弹幕消息添加至相应的弹幕通道,通过弹幕通道显示弹幕消息。本发明通过获取服务器推送的弹幕消息,以及发送弹幕消息对应用户的权限信息。基于权限信息,获取相应的显示素材。将显示素材及弹幕消息添加至相应的弹幕通道,通过弹幕通道显示弹幕消息。由于对于不同权限信息的用户,可获取相应的显示素材来实现弹幕的显示,从而可为不同权限的用户采用不同的表现形式来显示弹幕,表现形式较丰富。

Description

弹幕显示方法及装置
技术领域
本发明涉及视频直播技术领域,更具体地,涉及一种弹幕显示方法及装置。
背景技术
随着手机移动端的快速发展,直播行业越来越火爆。用户在观看直播时,通常会发表个人观点,由此会产生相应的弹幕。除此之外,很多用户会给主播送礼物,这表明用户支持主播,同样可以作为用户的一种观点。相应地,当用户送给主播礼物时也可以产生弹幕。另外,对于一些特殊类型的用户,为了增加这些用户的曝光度,这些特殊类型的用户进入直播间时也可以产生弹幕。由于弹幕的显示方式影响着用户体验,从而如何显示弹幕是个关键问题。
相关技术中提供了一种弹幕显示方法,对于所有用户均通过相同的显示素材来显示弹幕,即所有用户发送弹幕对应的表现形式均一致。
在实现本发明的过程中,发现现有技术至少存在以下问题:由于显示弹幕时所有用户发送的弹幕均采用相同的表现形式,从而表现形式较为单一。
发明内容
在相关技术中,对于所有用户均通过相同的显示素材来显示弹幕,即所有用户发送弹幕对应的表现形式均一致。由于显示弹幕时所有用户发送的弹幕均采用相同的表现形式,从而表现形式较为单一为了解决上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的弹幕显示方法及装置。
根据本发明的第一方面,提供了一种弹幕显示方法,包括:
步骤1,获取服务器推送的弹幕消息,以及发送弹幕消息对应用户的权限信息;
步骤2,基于权限信息,获取相应的显示素材;
步骤3,将显示素材及弹幕消息添加至相应的弹幕通道,通过弹幕通道显示弹幕消息。
本发明提供的方法,通过获取服务器推送的弹幕消息,以及发送弹幕消息对应用户的权限信息。基于权限信息,获取相应的显示素材。将显示素材及弹幕消息添加至相应的弹幕通道,通过弹幕通道显示弹幕消息。由于对于不同权限信息的用户,可获取相应的显示素材来实现弹幕的显示,从而可为不同权限的用户采用不同的表现形式来显示弹幕,表现形式较丰富。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,步骤3之前还包括:
基于坐标值初始化函数,获取弹幕通道的坐标值;
基于弹幕通道的构造函数,根据坐标值,在视频界面中创建弹幕通道。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,步骤3中通过弹幕通道显示弹幕消息,包括:
当弹幕通道不在主线程中时,通过异步函数在主队列中添加弹幕通道对应的显示操作任务;
基于主队列及图形界面显示类,通过弹幕通道显示弹幕消息。
结合第一方面的第一种可能的实现方式,在第四种可能的实现方式中,步骤3中通过弹幕通道显示弹幕消息,包括:
当弹幕通道在主线程中且弹幕通道处于空闲状态时,基于图形界面显示类,通过弹幕通道显示弹幕消息。
结合第一方面的第一种可能的实现方式,在第五种可能的实现方式中,步骤3中通过弹幕通道显示弹幕消息,包括:
当弹幕通道在主线程中且弹幕通道不处于空闲状态时,停止通过弹幕通道显示弹幕消息。
结合第一方面的第一种可能的实现方式,在第六种可能的实现方式中,步骤3之前还包括:
在弹幕通道中添加手势及跳转信息,手势用于响应触摸事件,跳转信息用于指示跳转目标。
结合第一方面的第一种可能的实现方式,在第七种可能的实现方式中,步骤3之后还包括:
当检测到对弹幕消息的触摸事件时,基于跳转信息执行跳转操作。
根据本发明的第二方面,提供了一种弹幕显示装置,该装置包括至少一个模块,该至少一个模块用于实现上述第一方面或第一方面的各种可能的实现方式所提供的弹幕显示方法。
根据本发明的第三方面,提供了一种弹幕显示设备,包括:
至少一个处理器;以及
与处理器通信连接的至少一个存储器,其中:
存储器存储有可被处理器执行的程序指令,处理器调用程序指令能够执行上述第一方面或第一面的各种可能的实现方式所提供的弹幕显示方法。
根据本发明的第四方面,提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述第一方面或第一方面的各种可能的实现方式所提供的弹幕显示方法。
应当理解的是,以上的一般描述和后文的细节描述是示例性和解释性的,并不能限制本发明。
附图说明
图1为本发明实施例的一种弹幕显示方法的流程示意图;
图2为本发明实施例的一种弹幕显示方法的流程示意图;
图3为本发明实施例的一种弹幕显示装置的结构示意图;
图4为本发明实施例的一种弹幕显示设备的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
随着手机移动端的快速发展,直播行业越来越火爆。用户在观看直播时,通常会发表个人观点,由此会产生相应的弹幕。除此之外,很多用户会给主播送礼物,这表明用户支持主播,同样可以作为用户的一种观点。相应地,当用户送给主播礼物时也可以产生弹幕。另外,对于一些特殊类型的用户,为了增加这些用户的曝光度,这些特殊类型的用户进入直播间时也可以产生弹幕。由于弹幕的显示方式影响着用户体验,从而如何显示弹幕是个关键问题。
其中,特殊类型的用户可以为用户等级大于一定阈值的用户,还可以为付费用户,本发明实施例对此不作具体限定。
相关技术中提供了一种弹幕显示方法,对于所有用户均通过相同的显示素材来显示弹幕,即所有用户发送弹幕对应的表现形式均一致。由于显示弹幕时所有用户发送的弹幕均采用相同的表现形式,从而表现形式较为单一。另外,对于区别于普通用户的特殊类型用户,也采用相同的表现形式来显示弹幕,从而不能增加特殊类型用户的曝光度,用户体验较差。
针对现有技术中的问题,本发明实施例提供了一种弹幕显示方法。参见图1,该方法包括:101,获取服务器推送的弹幕消息,以及发送弹幕消息对应用户的权限信息;102、基于权限信息,获取相应的显示素材;103、将显示素材及弹幕消息添加至相应的弹幕通道,通过弹幕通道显示弹幕消息。
本发明实施例提供的方法,通过获取服务器推送的弹幕消息,以及发送弹幕消息对应用户的权限信息。基于权限信息,获取相应的显示素材。将显示素材及弹幕消息添加至相应的弹幕通道,通过弹幕通道显示弹幕消息。由于对于不同权限信息的用户,可获取相应的显示素材来实现弹幕的显示,从而可为不同权限的用户采用不同的表现形式来显示弹幕,表现形式较丰富。
作为一种可选实施例,步骤3之前还包括:
基于坐标值初始化函数,获取弹幕通道的坐标值;
基于弹幕通道的构造函数,根据坐标值,在视频界面中创建弹幕通道。
作为一种可选实施例,步骤3中通过弹幕通道显示弹幕消息,包括:
当弹幕通道不在主线程中时,通过异步函数在主队列中添加弹幕通道对应的显示操作任务;
基于主队列及图形界面显示类,通过弹幕通道显示弹幕消息。
作为一种可选实施例,步骤3中通过弹幕通道显示弹幕消息,包括:
当弹幕通道在主线程中且弹幕通道处于空闲状态时,基于图形界面显示类,通过弹幕通道显示弹幕消息。
作为一种可选实施例,步骤3中通过弹幕通道显示弹幕消息,包括:
当弹幕通道在主线程中且弹幕通道不处于空闲状态时,停止通过弹幕通道显示弹幕消息。
作为一种可选实施例,步骤3之前还包括:
在弹幕通道中添加手势及跳转信息,手势用于响应触摸事件,跳转信息用于指示跳转目标。
作为一种可选实施例,步骤3之后还包括:
当检测到对弹幕消息的触摸事件时,基于跳转信息执行跳转操作。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
基于上述图1对应实施例的内容,本发明实施例提供了一种弹幕显示方法。该方法可用于终端,终端可包括但不限于手机、平板以及个人电脑等。参见图2,该方法包括:201、获取服务器推送的弹幕消息,以及发送弹幕消息对应用户的权限信息;202、基于权限信息,获取相应的显示素材;203、基于坐标值初始化函数,获取弹幕通道的坐标值;204、基于弹幕通道的构造函数,根据坐标值,在视频界面中创建弹幕通道;205、将显示素材及弹幕消息添加至相应的弹幕通道,通过弹幕通道显示弹幕消息。
其中,201、获取服务器推送的弹幕消息,以及发送弹幕消息对应用户的权限信息。
在本步骤中,终端在获取到用户发送的弹幕时,可先将弹幕以socket弹幕消息的形式传递至支持socket协议的服务器。当然,还可以通过其他传输协议将弹幕消息发送至支持该传输协议的服务器,本发明实施例对此不作具体限定。服务器在接收到socket弹幕消息后,会向客户端推送一条弹幕消息。例如,对于在房间A中观看直播的用户,可通过手机端发送弹幕。手机端在接收到用户发送的弹幕之后,可将用户发送的弹幕以socket弹幕消息的形式传递至服务器。服务器在接收到弹幕消息之后,可先确定观看房间A直播的其他用户,从而将弹幕消息推送至其他用户对应的手机端。
在后续显示弹幕消息的过程中,不同类型用户可能会对应不同的显示方式。为了对不同类型的用户进行区分,服务器在向终端推送弹幕消息时,对于发送该弹幕消息的用户,服务器还可向终端推送该用户对应的权限信息,以区分普通用户及特殊类型用户。其中,权限信息可以为用户等级,还可以为用来区分是否为付费用户的付费标识,本发明实施例对此不作具体限定。另外,特殊类型用户可以包括用户等级大于一定阈值的用户以及付费用户,本发明实施例对此也不作具体限定。
其中,202、基于权限信息,获取相应的显示素材。
在本步骤中,显示素材可以包括动态图像、显示颜色及弹幕边框等,本发明实施例对此不作具体限定。终端获取到权限信息时,可从本地获取相应的显示素材,也可以从服务器下载相应的显示素材,本发明实施例对此不作具体限定。
本发明实施例主要是通过弹幕通道来显示弹幕消息,从而可先为发送弹幕的用户创建弹幕通道,具体过程可参考后续步骤203及204。其中,弹幕通道可以作为弹幕消息以及显示素材的载体,直接显示在直播界面中。另外,弹幕通道可以为弹幕通道类所实体化的对象。在直播界面中显示弹幕时,可以通过弹幕通道类来实体化一个弹幕通道对象,即创建一个弹幕通道,再通过该弹幕通道承载弹幕消息以及显示素材。最后,将该弹幕通道对象显示在直播界面中,从而实现弹幕的显示。
其中,203、基于坐标值初始化函数,获取弹幕通道的坐标值。
由于特殊类型用户与普通用户对应着不同的弹幕显示方式,从而对于普通用户及特殊类型用户,两者可对应不同的弹幕通道创建方式。具体地,可先创建一个弹幕通道类。普通用户在创建弹幕通道时,可通过该弹幕通道类来创建相应的弹幕通道。对于特殊类型用户,可将弹幕通道类作为父类,创建一个特殊弹幕通道类作为子类,从而基于特殊弹幕通道类来创建相应的弹幕通道。
在创建弹幕通道之前,可先获取弹幕通道在直播界面中的坐标值。具体地,在基于弹幕通道类创建弹幕通道时,可通过坐标值初始化函数,如initWithFrame来获取弹幕通道的坐标值。在基于特殊弹幕通道类创建弹幕通道时,由于弹幕通道类是特殊弹幕通道类的父类,从而可调用父类的坐标值初始化函数,如initWithFrame来获取弹幕通道的坐标值。需要说明的是,在调用父类的函数时,可使用super关键字来引用父类对象。对于特殊弹幕通道类,在获取到弹幕通道的坐标值后,可将该坐标值传递给弹幕通道类(即特殊弹幕通道类的父类)的构造函数,以为基于特殊弹幕通道类创建的弹幕通道设置坐标值。
其中,204、基于弹幕通道的构造函数,根据坐标值,在视频界面中创建弹幕通道。
通过上述步骤在获取弹幕通道的坐标值后,可在视频界面中创建弹幕通道。为了便于理解,现以基于特殊弹幕通道类来创建弹幕通道对象为例,对创建弹幕通道的过程进行说明。具体地,可先为特殊弹幕通道类定义一个弹幕通道的构造函数,如initWithOrigin。另外,为了让类与类之间能够实现传值,还可以定义一个参数代理delegate。基于参数代理delegate,弹幕通道类与特殊弹幕通道类之间能够实现传值。通过上述特殊弹幕通道类对应的构造函数,可创建相应的弹幕通道。
由于后续需要基于特殊弹幕通道类对应的弹幕通道来显示弹幕,为了让特殊弹幕通道类能够主动与父类(弹幕通道类)之间进行传值,在基于上述构造函数创建弹幕通道后,可检测构造函数是否存在返回值。如果构造函数存在返回值,则可将参数代理delegate设置为当前弹幕通道的代理。其中,返回值可以为字串“self”,用于表明成功创建了弹幕通道,本发明实施例对此不作具体限定。
其中,205、将显示素材及弹幕消息添加至相应的弹幕通道,通过弹幕通道显示弹幕消息。
在将显示素材及弹幕消息添加至相应的弹幕通道时,可通过添加函数进行添加,如addNobleAir函数,本发明实施例对此不作具体限定。另外,由于终端接收到弹幕消息通常是字符串格式,而弹幕通道通常接受的格式为模型格式,如字典格式,从而在向弹幕通道添加弹幕消息之前,可先通过字符串转模型的工具,将字符串格式的弹幕消息转化为模型,再使用参数代理delegate将模型传输至弹幕通道。
由于通过弹幕通道显示弹幕属于图像界面的更新显示,而图形界面的更新显示操作需要处于主线程中,从而在通过弹幕通道显示弹幕消息之前,可先判断弹幕通道是否在主线程中。相应地,本发明实施例不对通过弹幕通道显示弹幕消息的方式作具体限定,包括但不限于:当弹幕通道不在主线程中时,通过异步函数在主队列中添加弹幕通道对应的显示操作任务;基于主队列及图形界面显示类,通过弹幕通道显示弹幕消息。
具体地,在确定弹幕通道不在主线程中后,可使用异步函数dispatch_async,在主队列dispatch_get_main_queue中添加弹幕通道对应的显示操作任务。由于提交至主队列dispatch_get_main_queue的任务会在主线程中执行,从而在主队列中可基于图形界面显示UIView类,通过弹幕通道显示弹幕消息。需要说明的是,本发明实施例主要对特殊弹幕通道类对应弹幕通道的弹幕显示过程进行说明,而特殊弹幕通道类对应的特殊类型用户,从而在通过弹幕通道显示弹幕消息时,可通过更丰富的显示素材来显示弹幕消息。例如,以特殊类型用户为付费用户(如贵族用户)或等级较高的VIP用户为例,在通过弹幕通道显示弹幕消息时,可在弹幕通道中显示类动画,并以区分度较高的颜色来显示弹幕。另外,还可以在该弹幕通道中以醒目的字体显示该特殊类型用户的等级、付费标识以及昵称,本发明实施例对此不作具体限定。
需要说明的是,对于特殊类型用户而言,本发明实施例提供的弹幕通道是共用的,这样可以避免重复创建弹幕通道,以节省资源。相应地,当弹幕通道在主线程中时,在通过弹幕通道显示弹幕消息之前,还需要考虑弹幕通道是否处于繁忙状态。其中,弹幕通道可以对应一个变量channelIsBusy。当该变量的值为“No”时,则表示该弹幕通道为空闲状态。当该表量的值为“Yes”时,则表示该弹幕通道为繁忙状态。
相应地,本发明实施例不对通过弹幕通道显示弹幕消息的方式作具体限定,包括但不限于:当弹幕通道在主线程中且弹幕通道处于空闲状态时,基于图形界面显示类,通过弹幕通道显示弹幕消息。具体地,可直接基于图形界面显示UIView类,通过弹幕通道显示弹幕消息。其中,具体显示方式可参考上述内容,此处不再赘述。
当弹幕通道处于繁忙状态时,为了避免继续向弹幕通道中添加弹幕消息,可停止对该弹幕消息进行显示。相应地,本发明实施例不对通过弹幕通道显示弹幕消息的方式作具体限定,包括但不限于:当弹幕通道在主线程中且弹幕通道不处于空闲状态时,停止通过弹幕通道显示弹幕消息。
基于上述过程,在通过弹幕通道显示完弹幕消息之后,可以通过一个回调函数来移除弹幕通道中显示完毕的弹幕消息,同时将弹幕通道设置为空闲状态。具体地,弹幕通道显示完弹幕消息之后,可通过回调函数completion将显示完毕的弹幕消息进行移除,同时设置channelIsBusy的值为“No”,表示弹幕通道可以添加新的弹幕消息。
另外,由于用户在发送弹幕消息时,可能需要同时发布其它类型的信息,从而弹幕消息还可以携带其它类型的信息。例如,用户在发送弹幕消息时,可能会觉得当前直播间之外的其它直播间所直播的内容也很精彩,从而想推荐给处于当前直播间内的用户。或者,用户还想推荐web内容给当前直播间内的用户。此时,用户在发送弹幕消息时,还可以同时发送跳转信息,本发明实施例对此不作具体限定。其中,跳转信息用于指示跳转目标,跳转目标可对应其它直播间或者web页面,本发明实施例对此也不作具体限定。
用户在当前直播间内发送弹幕消息以及跳转信息之后,为了让当前直播间内的其他用户能够从当前直播间跳转至跳转信息所指示的跳转目标,从而弹幕通道中显示的弹幕消息还可对应的触摸事件。当检测到当前直播间内其它用户对该弹幕消息的触摸事件时,可实现跳转。基于上述内容,在执行本步骤之前,还可在弹幕通道中添加手势及跳转信息。其中,手势用于响应触摸事件,跳转信息用于指示跳转目标。跳转信息可以为直播房间的房间标识,也可以为web页面链接,本发明实施例对此不作具体限定。
具体地,可先创建一个手势变量tapGesture,再使用手势类UITapGestureRecognizer中的内存分配函数alloc为创建的手势tapGesture设置初始值。接着,使用时间监听函数initWithTarget设置当前的弹幕通道为时间的监听者,即监听弹幕消息在显示的这段时间内其他用户对弹幕消息的触摸事件。另外,还可以为时间监听后的响应添加回调函数,以用于实现检测到触摸事件的后续操作。其中,回调函数可以为@selector,@selector代表一个函数的指针。@selector内部可包装一个函数broadcastItemDidClick,这个被包装的函数为触摸事件触发后的调用函数,并用于实现后续操作,如跳转操作。
通过添加手势函数可在弹幕通道中为弹幕消息添加手势,从而让弹幕消息能够响应触摸事件。具体地,可使用添加手势函数addGestureRecognizer将为弹幕通道中的弹幕消息添加上述步骤中创建的手势,从而弹幕消息就能够响应触摸事件。
在本步骤中通过弹幕通道显示弹幕消息之后,可在检测到对弹幕消息的触摸事件时,基于跳转信息执行跳转操作。具体地,在基于上述添加的手势监听到相应的触摸事件之后,即用户在点击弹幕消息时,可触发广播回调broadcastItemDidClick,在广播通道中发送相应的广播消息。broadcastItemDidClick函数内部会使用一个代理将广播通道中该广播消息对应的触摸事件传输到控制器。控制器中遵守这个触摸事件的代理函数就可以接收到这个触摸事件,并可获取到该广播消息的处理模型。其中,处理模型中包括跳转信息。
当跳转信息为房间标识时,该房间标识即对应点击该弹幕消息的用户所需要跳转的房间。上述代理函数可先判断该房间标识对应的房间是否存在,如果存在的话再判断该房间标识是否为当前直播间的房间标识,如果不是的话可执行跳转操作。如果房间标识不存在、或者房间标识存在而房间标识属于当前直播间,则不需要执行跳转操作。
当跳转信息为web页面链接时,上述代理函数可以先判断该web页面链接是否有效。如果有效的话,可创建一个网页版控制器,如DYWebDatasource,为该网页版控制器设置跳转链接,使用pushViewController函数跳转到该web页面链接对应的web页面。
本发明实施例提供的方法,通过获取服务器推送的弹幕消息,以及发送弹幕消息对应用户的权限信息。基于权限信息,获取相应的显示素材。基于坐标值初始化函数,获取弹幕通道的坐标值。基于弹幕通道的构造函数,根据坐标值,在视频界面中创建弹幕通道。将显示素材及弹幕消息添加至相应的弹幕通道,通过弹幕通道显示弹幕消息。由于对于不同权限信息的用户,可获取相应的显示素材来实现弹幕的显示,从而可为不同权限的用户采用不同的表现形式来显示弹幕,表现形式较丰富。
其次,对于特殊类型用户,如付费用户或等级较高的用户,可通过动画等显示素材以及区分度较高的颜色,在弹幕通道中显示弹幕消息,从而能够提高特殊类型用户的曝光度及辨识度,提升用户体验。与此同时,由于特殊类型用户在显示弹幕时的表现形式比普通用户更丰富,从而可以促进普通用户消费,提高用户付费比例。
从次,由于在创建弹幕通道时是在构造函数中创建,添加手势以及参数代理也是在构造函数中完成的,从而只需创建一次弹幕通道,且只需一次添加,而不用重复创建或重复添加,进而简化了处理流程。
另外,在弹幕通道中添加弹幕消息时,可先检测弹幕通道是否空闲状态,再基于弹幕通道状态执行后续操作,从而能够有效地避免弹幕通道在繁忙状态时重复添加弹幕消息。
最后,在弹幕通道中显示弹幕消息时,弹幕消息还可以响应触摸事件,以实现通过弹幕消息实现跳转。与此同时,在跳转之前还做了相应的容错处理,禁止无效跳转以及跳转到当前直播间。
基于上述图1或图2对应实施例所提供的弹幕显示方法,本发明实施例提供了一种弹幕显示装置。参见图3,该装置包括:
第一获取模块301,用于获取服务器推送的弹幕消息,以及发送弹幕消息对应用户的权限信息;
第二获取模块302,用于基于权限信息,获取相应的显示素材;
显示模块303,用于将显示素材及弹幕消息添加至相应的弹幕通道,通过弹幕通道显示弹幕消息。
作为一种可选实施例,该装置还包括:
第三获取模块,用于基于坐标值初始化函数,获取弹幕通道的坐标值;
创建模块,用于基于弹幕通道的构造函数,根据坐标值,在视频界面中创建弹幕通道。
作为一种可选实施例,显示模块303,用于当弹幕通道不在主线程中时,通过异步函数在主队列中添加弹幕通道对应的显示操作任务;基于主队列及图形界面显示类,通过弹幕通道显示弹幕消息。
作为一种可选实施例,显示模块303,用于当弹幕通道在主线程中且弹幕通道处于空闲状态时,基于图形界面显示类,通过弹幕通道显示弹幕消息。
作为一种可选实施例,显示模块303,用于当弹幕通道在主线程中且弹幕通道不处于空闲状态时,停止通过弹幕通道显示弹幕消息。
作为一种可选实施例,该装置还包括:
添加模块,用于在弹幕通道中添加手势及跳转信息,手势用于响应触摸事件,跳转信息用于指示跳转目标。
作为一种可选实施例,该装置还包括:
跳转模块,用于当检测到对弹幕消息的触摸事件时,基于跳转信息执行跳转操作。
本发明实施例提供的装置,通过获取服务器推送的弹幕消息,以及发送弹幕消息对应用户的权限信息。基于权限信息,获取相应的显示素材。基于坐标值初始化函数,获取弹幕通道的坐标值。基于弹幕通道的构造函数,根据坐标值,在视频界面中创建弹幕通道。将显示素材及弹幕消息添加至相应的弹幕通道,通过弹幕通道显示弹幕消息。由于对于不同权限信息的用户,可获取相应的显示素材来实现弹幕的显示,从而可为不同权限的用户采用不同的表现形式来显示弹幕,表现形式较丰富。
其次,对于特殊类型用户,如付费用户或等级较高的用户,可通过动画等显示素材以及区分度较高的颜色,在弹幕通道中显示弹幕消息,从而能够提高特殊类型用户的曝光度及辨识度,提升用户体验。与此同时,由于特殊类型用户在显示弹幕时的表现形式比普通用户更丰富,从而可以促进普通用户消费,提高用户付费比例。
从次,由于在创建弹幕通道时是在构造函数中创建,添加手势以及参数代理也是在构造函数中完成的,从而只需创建一次弹幕通道,且只需一次添加,而不用重复创建或重复添加,进而简化了处理流程。
另外,在弹幕通道中添加弹幕消息时,可先检测弹幕通道是否空闲状态,再基于弹幕通道状态执行后续操作,从而能够有效地避免弹幕通道在繁忙状态时重复添加弹幕消息。
最后,在弹幕通道中显示弹幕消息时,弹幕消息还可以响应触摸事件,以实现通过弹幕消息实现跳转。与此同时,在跳转之前还做了相应的容错处理,禁止无效跳转以及跳转到当前直播间。
本发明实施例提供了一种弹幕显示设备。参见图4,该弹幕显示设备包括:处理器(processor)401、存储器(memory)402和总线403;
其中,处理器401及存储器402分别通过总线403完成相互间的通信;
处理器401用于调用存储器402中的程序指令,以执行上述图1或图2对应实施例所提供的弹幕显示方法,例如包括:获取服务器推送的弹幕消息,以及发送弹幕消息对应用户的权限信息;基于权限信息,获取相应的显示素材;将显示素材及弹幕消息添加至相应的弹幕通道,通过弹幕通道显示弹幕消息。
本发明提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述图1或图2对应实施例所提供的弹幕显示方法,例如包括:获取服务器推送的弹幕消息,以及发送弹幕消息对应用户的权限信息;基于权限信息,获取相应的显示素材;将显示素材及弹幕消息添加至相应的弹幕通道,通过弹幕通道显示弹幕消息。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的信息交互设备等实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分方法。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种弹幕显示方法,其特征在于,包括:
步骤1,获取服务器推送的弹幕消息,以及发送所述弹幕消息对应用户的权限信息;
步骤2,基于所述权限信息,获取相应的显示素材;
步骤3,将所述显示素材及所述弹幕消息添加至相应的弹幕通道,通过所述弹幕通道显示所述弹幕消息。
2.根据权利要求1所述的方法,其特征在于,所述步骤3之前还包括:
基于坐标值初始化函数,获取弹幕通道的坐标值;
基于弹幕通道的构造函数,根据所述坐标值,在视频界面中创建弹幕通道。
3.根据权利要求1所述的方法,其特征在于,所述步骤3中通过所述弹幕通道显示所述弹幕消息,包括:
当所述弹幕通道不在主线程中时,通过异步函数在主队列中添加所述弹幕通道对应的显示操作任务;
基于所述主队列及图形界面显示类,通过所述弹幕通道显示所述弹幕消息。
4.根据权利要求1所述的方法,其特征在于,所述步骤3中通过所述弹幕通道显示所述弹幕消息,包括:
当所述弹幕通道在主线程中且所述弹幕通道处于空闲状态时,基于图形界面显示类,通过所述弹幕通道显示所述弹幕消息。
5.根据权利要求1所述的方法,其特征在于,所述步骤3中通过所述弹幕通道显示所述弹幕消息,包括:
当所述弹幕通道在主线程中且所述弹幕通道不处于空闲状态时,停止通过所述弹幕通道显示所述弹幕消息。
6.根据权利要求1所述的方法,其特征在于,所述步骤3之前还包括:
在所述弹幕通道中添加手势及跳转信息,所述手势用于响应触摸事件,所述跳转信息用于指示跳转目标。
7.根据权利要求6所述的方法,其特征在于,所述步骤3之后还包括:
当检测到对所述弹幕消息的触摸事件时,基于所述跳转信息执行跳转操作。
8.一种弹幕显示装置,其特征在于,包括:
第一获取模块,用于获取服务器推送的弹幕消息,以及发送所述弹幕消息对应用户的权限信息;
第二获取模块,用于基于所述权限信息,获取相应的显示素材;
显示模块,用于将所述显示素材及所述弹幕消息添加至相应的弹幕通道,通过所述弹幕通道显示所述弹幕消息。
9.一种弹幕显示设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一所述的方法。
CN201710380276.0A 2017-05-25 2017-05-25 弹幕显示方法及装置 Active CN108933947B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710380276.0A CN108933947B (zh) 2017-05-25 2017-05-25 弹幕显示方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710380276.0A CN108933947B (zh) 2017-05-25 2017-05-25 弹幕显示方法及装置

Publications (2)

Publication Number Publication Date
CN108933947A true CN108933947A (zh) 2018-12-04
CN108933947B CN108933947B (zh) 2021-07-23

Family

ID=64450154

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710380276.0A Active CN108933947B (zh) 2017-05-25 2017-05-25 弹幕显示方法及装置

Country Status (1)

Country Link
CN (1) CN108933947B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110536159A (zh) * 2019-08-29 2019-12-03 广州虎牙科技有限公司 用户分类方法、装置、计算机设备及存储介质
CN113596587A (zh) * 2021-07-28 2021-11-02 腾讯科技(深圳)有限公司 弹幕实现的方法、装置、电子设备和可读介质
CN113839913A (zh) * 2020-06-24 2021-12-24 腾讯科技(深圳)有限公司 一种互动信息处理方法、相关装置及存储介质
CN115278380A (zh) * 2022-06-24 2022-11-01 重庆长安汽车股份有限公司 弹幕在智能座舱展示的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014047425A1 (en) * 2012-09-21 2014-03-27 Comment Bubble, Inc. Timestamped commentary system for video content
CN105916043A (zh) * 2016-04-19 2016-08-31 乐视控股(北京)有限公司 弹幕控制方法、装置
CN106162298A (zh) * 2015-03-27 2016-11-23 天脉聚源(北京)科技有限公司 一种实现弹幕的方法和系统
CN106210857A (zh) * 2016-08-03 2016-12-07 北京金山安全软件有限公司 一种消息显示方法、装置及电子设备
CN106204168A (zh) * 2016-09-07 2016-12-07 广州爱九游信息技术有限公司 商品弹幕显示系统、设备、装置及方法
CN106658221A (zh) * 2016-12-06 2017-05-10 广州华多网络科技有限公司 弹幕控制方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014047425A1 (en) * 2012-09-21 2014-03-27 Comment Bubble, Inc. Timestamped commentary system for video content
CN106162298A (zh) * 2015-03-27 2016-11-23 天脉聚源(北京)科技有限公司 一种实现弹幕的方法和系统
CN105916043A (zh) * 2016-04-19 2016-08-31 乐视控股(北京)有限公司 弹幕控制方法、装置
CN106210857A (zh) * 2016-08-03 2016-12-07 北京金山安全软件有限公司 一种消息显示方法、装置及电子设备
CN106204168A (zh) * 2016-09-07 2016-12-07 广州爱九游信息技术有限公司 商品弹幕显示系统、设备、装置及方法
CN106658221A (zh) * 2016-12-06 2017-05-10 广州华多网络科技有限公司 弹幕控制方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110536159A (zh) * 2019-08-29 2019-12-03 广州虎牙科技有限公司 用户分类方法、装置、计算机设备及存储介质
CN113839913A (zh) * 2020-06-24 2021-12-24 腾讯科技(深圳)有限公司 一种互动信息处理方法、相关装置及存储介质
CN113839913B (zh) * 2020-06-24 2024-02-27 腾讯科技(深圳)有限公司 一种互动信息处理方法、相关装置及存储介质
CN113596587A (zh) * 2021-07-28 2021-11-02 腾讯科技(深圳)有限公司 弹幕实现的方法、装置、电子设备和可读介质
CN113596587B (zh) * 2021-07-28 2022-06-17 腾讯科技(深圳)有限公司 弹幕实现的方法、装置、电子设备和可读介质
CN115278380A (zh) * 2022-06-24 2022-11-01 重庆长安汽车股份有限公司 弹幕在智能座舱展示的方法及装置

Also Published As

Publication number Publication date
CN108933947B (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
CN110535831B (zh) 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
CN110310034B (zh) 一种应用于SaaS的服务编排、业务流程处理方法和装置
CN111814089B (zh) 一种页面渲染的方法、装置、渲染服务器和存储介质
CN108933947A (zh) 弹幕显示方法及装置
CN109600408A (zh) 资源分享方法、装置、存储介质和计算机设备
CN104216698B (zh) 一种注册网页方法及相关装置
CN106464746A (zh) 用以支持事件流处理系统中的故障转移的计算机系统
CN112260853B (zh) 容灾切换方法、装置、存储介质及电子设备
CN109032587B (zh) 一种数据流管理框架、方法、终端设备及存储介质
CN107396199A (zh) 弹幕数据展示方法及装置、计算机可读存储介质
CN109739661B (zh) 一种协同模块间消息更新的方法、装置及系统
CN110533464A (zh) 一种广告监播方法、装置、系统及计算设备
CN109523610A (zh) 海报的生成方法、装置和存储介质
CN108038009A (zh) 基于Web应用的前后端交互方法、装置及计算机设备
CN110704097A (zh) 一种数据收集方法、装置及电子设备和存储介质
CN106572447A (zh) 资源的控制方法和装置
CN111078348B (zh) 一种界面管理方法、装置、设备和存储介质
CN106845270B (zh) 一种无痕浏览方法及装置
CN110532045A (zh) 一种跨进程调用方法及相关装置
CN113741754A (zh) 任务创建方法、装置、电子设备和计算机可读存储介质
WO2016197851A1 (zh) 一种通知信息的管理方法和设备
CN106842969A (zh) 设备控制方法及装置
CN112613915B (zh) 用于支持双版本广告插件切换的方法、装置及电子设备
CN112698829B (zh) 异常资源的定位方法和装置、存储介质及电子设备
CN105162641A (zh) 云桌面的监控方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant