弹幕数据展示方法及装置、计算机可读存储介质与流程

文档序号:13011313阅读:337来源:国知局
弹幕数据展示方法及装置、计算机可读存储介质与流程

本发明涉及互联网移动端视频直播领域,具体而言,涉及一种弹幕数据展示方法及装置、计算机可读存储介质。



背景技术:

随着移动终端的快速发展,移动端视频直播行业越来越火爆,人们可通过移动终端上的视频直播客户端来观看自己所需的直播视频。

观看直播视频时,视频中展示的弹幕人们实现交互的重要工具。目前,视频直播客户端可通过客户端的后台与客户端的前端之间的交互来实现弹幕在视频中的展示。但该方式是需要客户端后台的程序与客户端前端的程序共同工作,才能够实现对弹幕的展示。从而极大的降低了客户端在展示弹幕时的可操作性,以及展示弹幕时的工作效率。



技术实现要素:

有鉴于此,本发明的目的在于提供一种弹幕数据展示方法及装置、计算机可读存储介质,以有效改善上述缺陷。

本发明的实施例通过如下方式实现:

第一方面,本发明实施例提供了一种弹幕数据展示方法,所述方法应用于客户端,所述客户端包括前端和后台。所述方法包括:所述后台获取目标直播间的连接信号,创建连接所述前端的第一连接通道;所述后台将调用程序的端口对象注册到所述第一连接通道,并将服务器发送的弹幕数据通过所述第一连接通道发送至所述前端;所述前端根据所述端口对象调用所述后台的程序以展示所述弹幕数据。

第二方面,本发明实施例提供了一种弹幕数据展示装置,所述装置应用于客户端,所述客户端包括前端和后台。所述装置包括:创建模块、发送模块和展示模块。所述创建模块,用于所述后台获取目标直播间的连接信号,创建连接所述前端的第一连接通道。所述发送模块,用于所述后台将调用程序的端口对象注册到所述第一连接通道,并将服务器发送的弹幕数据通过所述第一连接通道发送至所述前端。所述展示模块,用于所述前端根据所述端口对象调用所述后台的程序以展示所述弹幕数据。

第三方面,本发明实施例提供了一种具有处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码使所述处理器执行所述方法。

本发明实施例的有益效果是:

本发明实施例与现有技术相比,客户端的后台通过获取到目标直播间加载时的连接信号,建立第一连接通道来连接客户端的前端,并将端口对象注册到第一连接通道中。客户端的后台在将弹幕数据通过第一连接通道发送至客户端的前端后,客户端的前端则根据获取到的端口对象来调用客户端后台的程序以将弹幕数据进行展示。因此,客户端的前端通过调用客户端后台的程序来展示弹幕,其极大的提高了展示弹幕时的可操作性,以及展示弹幕时的工作效率。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例中终端设备与服务器的交互示意图;

图2示出了本发明实施例中终端设备的结构框图;

图3示出了本发明第一实施例提供的一种弹幕数据展示方法的流程图;

图4示出了本发明第一实施例提供的一种弹幕数据展示方法中步骤s100的子流程图;

图5示出了本发明第一实施例提供的一种弹幕数据展示方法中步骤s300的子流程图;

图6示出了本发明第二实施例提供的一种弹幕数据展示装置的功能模块图;

图7示出了本发明第二实施例提供的一种弹幕数据展示装置中创建模块的功能模块图;

图8示出了本发明第二实施例提供的一种弹幕数据展示装置中展示模块的功能模块图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

如图1所示,图1是终端设备10与服务器11进行交互的示意图。所述服务器11通过网络12与一个或多个终端设备10进行通信连接,以进行数据通信或交互。所述服务器11可以是网络服务器、数据库服务器等。所述终端设备10可以是个人电脑(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)等。本实施例中客户端可安装在所述终端设备10中,服务器11中存储有弹幕数据。终端设备10通过与服务器11的交互,获取服务器11发送的弹幕数据,并在客户端的显示界面中将弹幕数据展示。终端设备10也通过与服务器11的交互,。终端设备10可将用户输入到客户端中的弹幕数据发送至服务器11,以便服务器11将该弹幕数据分发至其他终端设备10。

请参阅图2,图2是终端设备10的方框示意图。所述终端设备10包括:弹幕数据展示装置、存储器101、存储控制器102、处理器103、外设接口104、输入输出单元105、显示单元106。

所述存储器101、存储控制器102、处理器103、外设接口104、输入输出单元105、显示单元106,各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述弹幕数据展示装置包括至少一个可以软件或固件(firmware)的形式存储于所述存储器中或固化在所述终端设备10的windows操作系统中的软件功能模块。所述处理器103用于执行存储器101中存储的可执行模块,例如所述弹幕数据展示装置包括的软件功能模块或计算机程序。

其中,存储器101可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序,后续本发明实施例任一实施例揭示的过程定义的终端设备10所执行的方法可以应用于处理器103中,或者由处理器103实现。

处理器103可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器103可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述外设接口104将各种输入输出单元105耦合至处理器103以及存储器101。在一些实施例中,外设接口,处理器以及存储控制器可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

输入输出单元105用于提供给用户输入数据实现用户与数据采集终端的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。

显示单元106在所述移动终端与用户之间提供一个交互界面,例如用户操作界面,或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。

第一实施例

请参阅图3,图3示出了本发明第一实施例提供的一种弹幕数据展示方法的方法流程,该弹幕数据展示方法应用于客户端,以实现客户端的后台和客户端的前端之间的交互。本实施例中,客户端的后台可以是客户端的底层,其为客户端的逻辑控制层面。客户端的前端可以是客户端的界面展示层,其为客户端的控件布局、色调、字体和控件响应等。

具体的,弹幕数据展示方法的方法流程包括:步骤s100、步骤s200和步骤s300。

步骤s100:所述后台获取目标直播间的连接信号,创建连接所述前端的第一连接通道。

通过用户的操控,客户端上可显示相应的直播间列表,例如,用户首先点击打开终端设备上安装的客户端,使得终端设备通过加载的方式或者调用在后台运行的该客户端的方式,以使该客户端显示相应的直播间列表。用户点击客户端所显示的直播间列表界面上的操作按钮,以使客户端显示直播间列表对应的目标直播间。当客户端在界面上加载显示相应的目标直播间时,该目标直播间的加载显示会相应的产生一个连接信号,该连接信号即为newconnection信号,进而客户端的后台能够通过监听该连接信号来判断该目标直播间是否被加载显示。当客户端的后台监听获取的该连接信号时,后台判定该目标直播间被加载显示,进而客户端的后台根据预设控制程序来建立连接客户端前端的第一连接通道,以实现客户端后台和客户端前端的通信。其中,第一连接通道即为qwebchannel对象。

需要说明的是,客户端的后台执行获取目标直播间的连接信号,并创建连接客户端前端的第一连接通道时,可基于qt框架来实现。其中,qt框架为面向对象的开发框架。

步骤s200:所述后台将调用程序的端口对象注册到所述第一连接通道,并将服务器发送的弹幕数据通过所述第一连接通道发送至所述前端。

当客户端的后台建立连接客户端前端的第一连接通道后,客户端的后台根据预设控制程序构建一个端口类,端口类即为roomjsservice类,该端口类继承于qobject,以用于客户端的前端通过回调后台的程序来展示获取到的弹幕数据,或通过回调后台的程序来将用户输入的弹幕数据发送至后台。此时,客户端的后台可采用registerobject方法将端口类中的端口对象注册到第一连接通道中。其中,端口对象即为roomjsservice对象,而registerobject方法用于将端口对象注册到第一连接通道中。

具体的,上段所述的方式可通过如下示例方式实现:

m_webchannel->registerobject(name,object);

此外,当客户端的网络模块的收到服务器发送的弹幕数据时,客户端的后台将弹幕数据与端口对象中的关联信号匹配,其中,关联信号即为client_call_chat信号,其用于当客户端的前端获取到弹幕数据,以通过弹幕数据中的关联信号来实现回调客户端后台的程序。建立对弹幕数据的匹配后,客户端的后台再将该弹幕数据通过第一连接通道发送至客户端的前端,以使客户端的前端获取到该弹幕数据。

具体的,上段所述的方式可通过如下示例方式实现:

connect(m_roommessageclient,signal(chatmessagereceived(constqstring&)),m_jsservice,signal(client_call_chat(constqstring&)),qt::queuedconnection);

需要说明的是,客户端的后台将调用程序的端口对象注册到第一连接通道,并将服务器发送的弹幕数据也通过第一连接通道发送至前端,也可基于qt框架来实现。

步骤s300:所述前端根据所述端口对象调用所述后台的程序以展示所述弹幕数据。

客户端的后台将端口对象注册到第一连接通道后,以及将弹幕数据通过第一连接通道发送至客户端的前端,客户端的前端则相应的获取到端口对象和弹幕数据。若便于客户端的前端能够实现展示该弹幕数据,客户端需要基于qml创建一个弹幕展示控件,其中,qml为一种描述性的脚本语言。

作为一种方式,客户端首先在qt中创建一个qml引擎,该qml引擎即为qqmlapplicationengine对象,其用于对后续弹幕展示控件的创建。

具体的,上段所述的方式可通过如下示例方式实现:

m_engine=newqqmlapplicationengine(this);

客户端再获取qml引擎中的上下文地址,并将该上下文地址与qml引擎绑定,其中,上下文地址即为qqmlcontext地址,该上下文地址用于后续的弹幕展示控件的创建。

具体的,上段所述的方式可通过如下示例方式实现:

qqmlcontext*context=m_engine->rootcontext();

另外,客户端将端口对象绑定到qml引擎的上下文地址所对应的上下文中,以便于后续创建的弹幕展示控件的功能可通过端口对象,由第一连接通道通过调用客户端后台的程序来实现。

此外,客户端通过qml引擎中创建一个弹幕展示控件,该弹幕展示控件即为nativewebview控件,其可用于客户端的前端通过弹幕展示控件来展示弹幕数据。创建该弹幕展示控件后,客户端还设置该弹幕展示控件的基本属性,例如,弹幕展示控件的id,弹幕展示控件在客户端前端上的显示位置,以及弹幕展示控件在客户端前端上的显示大小等。客户端通过设置弹幕展示控件的页面属性,以将弹幕展示控件展示到客户端的前端,其中,页面属性即为page属性,其为一个客户端前端的脚本路径地址,以通过该页面属性将弹幕展示控件展示到客户端的前端。再者,为便于弹幕展示控件能够与客户端的后台实现通信,客户端还设置弹幕展示控件的查询属性,查询属性即为query属性。弹幕展示控件通过查询属性来建立和客户端的后台通信。

当客户端完成对弹幕展示控件的各种属性的设置后,客户端即完成了对弹幕展示控件的创建,且该弹幕展示控件也位于客户端的前端。此时,客户端的前端将获取到的端口对象和弹幕数据均发送到该弹幕展示控件中,客户端前端的该弹幕展示控件根据端口对象中的展示弹幕数据方法,通过第一连接通道去调用客户端后台的程序,进而根据调用的程序便能够将该弹幕数据在弹幕展示控件中展示。

需要说明的是,端口对象中还包括了发送弹幕数据方法,发送弹幕数据方法即为sendrawbarrage方法。端口对象被客户端的前端获取到后,当客户端的前端获取到用户输入的弹幕数据时,客户端的前端根据端口对象中的发送弹幕数据方法,也通过第一连接通道去调用客户端后台的程序,进而根据调用的程序便能够将用户输入的弹幕数据通过第一连接通道发送至客户端的后台,以使客户端的后台再将用户输入的弹幕数据发送给服务器。

请参阅图4,图4示出了本发明第一实施例提供的一种弹幕数据展示方法中步骤s100的方法子流程。

具体的,步骤s100的方法子流程包括:步骤s110和步骤s120。

步骤s110:所述后台监听所述目标直播间的所述连接信号。

当客户端在终端设备上被加载运行时,客户端的后台便开始监听目标直播间的连接信号,其中,客户端的后台所监听的目标直播间为直播间列表中的任意直播间。

客户端在终端设备上被加载运行时,客户端的后台首先创建一个开发接口对象,即qwebsocketserver对象。开发接口对象用于连接客户端前端的网络服务,即客户端前端的websocket。此时,客户端的后台调用监听设置,即listen设置。客户端的后台调用监听设置用于监听开发接口对象所获取到的连接信号。

具体的,上段所述的方式可通过如下示例方式实现:

m_socketserver=newqwebsocketserver(servername,qwebsocketserver::nonsecuremode,this);

if(!m_socketserver->listen(qhostaddress::localhost,port))

{qfatal("failedtoopenwebsocketserver.");}

客户端的后台根据qt的开发机制,采用信号和槽计算来监听开发接口对象的连接信号。可以理解到,通过开发接口对象和客户端前端的网络服务连接,当客户端在终端设备上被加载运行时,客户端的后台便能够通过开发接口对象监听到客户端的前端所产生的连接信号。

具体的,上段所述的方式可通过如下示例方式实现:

connect(m_socketserver,signal(newconnection()),this,slot(handleconnection()));

步骤s120:当所述目标直播间被加载时,所述后台获取所述目标直播间的所述连接信号,并创建连接所述前端的所述第一连接通道。

当目标直播间被加载时,客户端的后台则通过对开发接口对象的监听而获取目标直播间在加载时所产生的连接信号。此时,客户端的后台根据预设控制程序便创建连接前端的第一连接通道。

具体的,上段所述的方式可通过如下示例方式实现:

m_webchannel=newqwebchannel(this)

与此同时,客户端的后台构建一个网络传输套接字类,即websockettransport类,该网络传输套接字类继承于qwebchannelabstracttransport,其中,qwebchannelabstracttransport为qt所提供的接口,其用于建立第一连接通道和客户端前端之间的交流。此时,客户端的后台根据获取到的连接信号,在槽计算的槽处理函数handleconnection中,采用返回等待连接方法生成一个网络套接指针。其中,返回等待连接方法即为nextpendingconnection,其用于根据开发接口对象所获取的连接信号来生成一个指针。网络套接指针即为qwebsocket指针,其可便于后续的回调。客户端的根据创建的网络传输套接字类初始化生成一个网络传输套接字对象,网络传输套接字对象即为websockettransport对象。客户端再将网络套接指针绑定到网络传输套接字对象中,并将该绑定网络套接指针的网络传输套接字对象注册到创建的第一连接通道中。其中,网络传输套接字对象注册到第一连接通道中后,网络传输套接字对象可实现客户端的后台和客户端的前端在第一连接通道中的交互。例如,网络传输套接字对象用于将端口对象在第一连接通道中序列化,或将客户端的前端回调后台的程序在第一连接通道中序列化,或也将客户端的前端发送至后台的指令在第一连接通道中反序列化。

具体的,上段所述的方式可通过如下示例方式实现:

qwebsocket*socket=m_socketserver->nextpendingconnection();

websockettransport*transport=newwebsockettransport(socket);

m_webchannel->connectto(transport)

请参阅图5,图5示出了本发明第一实施例提供的一种弹幕数据展示方法中步骤s300的方法子流程。

具体的,步骤s300的方法子流程包括:步骤s310和步骤s320。

步骤s310:所述前端获取注册到所述第一连接通道中的所述端口对象。

客户端的前端通过第一连接通道和客户端的后台建立连接后,当客户端的后台将端口对象注册到第一连接通道,通过第一连接通道的传输,客户端的前端也相应的获取到该端口对象。

步骤s320:所述前端的弹幕展示控件获取所述端口对象,以使所述弹幕展示控件根据所述端口对象调用所述后台的程序来将所述前端获取的所述弹幕数据展示。

客户端的前端获取到端口对象后,客户端的前端的弹幕展示控件却并未获取到该弹幕展示控件。因此,需要客户端的前端建立与弹幕展示控件的通信,弹幕展示控件才能够从客户端的前端获取端口对象和弹幕数据。

作为一种方式,客户端的前端设置在弹幕展示控件中设置该端口对象在客户端前端的下载路径。其中,下载路径即为qwebchannel.js,其用于弹幕展示控件根据该下载路径去客户端的前端下载该端口对象。此时,客户端的前端还创建一个客户端的前端和弹幕展示控件的第二连接通道,第二连接通道也为qwebchannel对象,其用于弹幕展示控件通过该第二连接通道,根据下载路径去客户端的前端下载该端口对象。当弹幕展示控件通过第二连接通道获取到端口对象和弹幕数据后,弹幕展示控件根据端口对象中展示弹幕数据方法,通过第二连接通道和第二连接通道将控制指令至发送至客户端的后台,便能够实现回调客户端的后台的程序,进而根据该回调的程序将弹幕数在弹幕展示控件中展示。

第二实施例

请参阅图6,为本发明第二实施例提供的一种弹幕数据展示装置100的功能模块图,该弹幕数据展示装置100包括:创建模块110、发送模块120和展示模块130。

所述创建模块110,用于所述后台获取目标直播间的连接信号,创建连接所述前端的第一连接通道。

所述发送模块120,用于所述后台将调用程序的端口对象注册到所述第一连接通道,并将服务器发送的弹幕数据通过所述第一连接通道发送至所述前端。

所述展示模块130,用于所述前端根据所述端口对象调用所述后台的程序以展示所述弹幕数据。

请参阅图7,在本发明第二实施例中,创建模块110还包括:监听单元111和创建单元112。

所述监听单元111,用于所述后台监听所述目标直播间的所述连接信号。

所述创建单元112,用于当所述目标直播间被加载时,所述后台获取所述目标直播间的所述连接信号,并创建连接所述前端的所述第一连接通道。

请参阅图8,在本发明第二实施例中,展示模块130还包括:获取单元131和展示单元132。

所述获取单元131,用于所述前端获取注册到所述第一连接通道中的所述端口对象。

所述展示单元132,用于所述前端的弹幕展示控件获取所述端口对象,以使所述弹幕展示控件根据所述端口对象调用所述后台的程序来将所述前端获取的所述弹幕数据展示。

需要说明的是,由于所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本发明实施例所提供的进行处理器可执行的非易失的程序代码的计算机可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

综上所述,本发明实施例提供了一种弹幕数据展示方法及装置、计算机可读存储介质。其中,弹幕数据展示方法应用于客户端,客户端包括前端和后台。方法包括:后台获取目标直播间的连接信号,创建连接前端的第一连接通道;后台将调用程序的端口对象注册到第一连接通道,并将服务器发送的弹幕数据通过第一连接通道发送至前端;前端根据端口对象调用后台的程序以展示弹幕数据。

客户端的后台通过获取到目标直播间加载时的连接信号,建立第一连接通道来连接客户端的前端,并将端口对象注册到第一连接通道中。客户端的后台在将弹幕数据通过第一连接通道发送至客户端的前端后,客户端的前端则根据获取到的端口对象来调用客户端后台的程序以将弹幕数据进行展示。因此,客户端的前端通过调用客户端后台的程序来展示弹幕,其极大的提高了展示弹幕时的可操作性,以及展示弹幕时的工作效率。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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