CN114900740B - 一种多媒体对象的连播控制方法、***及装置 - Google Patents
一种多媒体对象的连播控制方法、***及装置 Download PDFInfo
- Publication number
- CN114900740B CN114900740B CN202210392472.0A CN202210392472A CN114900740B CN 114900740 B CN114900740 B CN 114900740B CN 202210392472 A CN202210392472 A CN 202210392472A CN 114900740 B CN114900740 B CN 114900740B
- Authority
- CN
- China
- Prior art keywords
- played
- data structure
- structure tree
- playing
- list
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 113
- 238000004891 communication Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 38
- 238000010586 diagram Methods 0.000 description 18
- 238000010276 construction Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 230000009471 action Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000009749 continuous casting Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4826—End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供了一种多媒体对象的连播控制方法、***及装置,包括:获取多个待播放节目列表,以及待播放节目列表中包含的待播放对象;根据待播放节目列表和待播放对象,得到数据结构树,数据结构树按照待播放节目列表的播放次序,以及待播放节目列表和待播放对象的从属关系得到;根据当前播放对象及数据结构树,获取目标对象信息,目标对象信息为下一个播放对象的信息。本发明中,可以得到表征播放次序的数据结构树,使得在后续可以直接根据数据结构树通过连播控制逻辑实现连播控制,无需在进行连播控制逻辑的同时,进行用于确定目标对象的业务逻辑判断,从而避免对连播控制过程产生影响,从而提高多节目列表情况下连播业务的效率。
Description
技术领域
本发明涉及多媒体对象技术领域,特别是涉及一种多媒体对象的连播控制方法、***及装置。
背景技术
随着流媒体技术的快速发展,用户播放和观看视频的频率逐渐增加。
在视频业务中,为了尽可能的留住用户,视频播放器可以具有连播、切集、循环播放等功能,即在当前播放视频在播放的过程中,可以呈现给用户当前播放视频所在的节目列表,以供切换、循环播放视频,或在当前播放视频播放结束的情况下自动连播至下一个视频。大部分情况下,连播等功能不仅仅局限在一个节目列表中,可以包括多个节目列表,比如用户观看一个电视剧时,还会同时推荐多个电视剧或电影,当用户播放完当前节目列表中的视频时,可以自动连播到其他节目列表对应的视频,在该过程中,视频播放器需要根据其他节目列表中视频所处的频道、来源、类型、是否为VIP视频等业务属性,分别对多个其他节目列表进行业务逻辑判断,以确定符合业务逻辑的目标节目列表,并依据连播控制逻辑实现目标节目列表的连播。
但是,在现有技术中,在每一次连播过程中,均需要首先根据多个业务逻辑确定当前节目列表连播时对应的目标节目列表和目标视频,然后依据连播控制逻辑实现目标节目列表和目标视频的连播,使得连播控制和业务逻辑同时进行,导致连播控制逻辑分散,多节目列表的连播业务效率低下。
发明内容
本发明实施例的目的在于提供一种多媒体对象的连播控制方法、***及装置,以解决现有技术中多节目列表的连播业务效率低下的问题。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种多媒体对象的连播控制方法,所述方法包括:
获取多个待播放节目列表,以及所述待播放节目列表中包含的待播放对象;
根据所述待播放节目列表和所述待播放对象,得到数据结构树,所述数据结构树按照所述待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到;
根据当前播放对象及所述数据结构树,获取目标对象信息,所述目标对象信息为下一个播放对象的信息。
在本发明实施的另一个方面,还提供了另一种多媒体对象的连播控制方法,应用于连播内容的请求端,所述方法包括:
获取数据结构树;其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到;
确定当前播放对象在所述数据结构树中的位置;
根据所述当前播放对象在所述数据结构树中的位置和所述播放次序,在所述数据结构树中确定位于所述当前播放对象之后播放的目标对象的信息;
向连播内容的提供端发送第一获取请求,以获取所述目标对象;其中,所述第一获取请求包括所述目标对象的信息;
接收所述提供端针对所述第一获取请求反馈的所述目标对象,并在所述当前播放对象播放结束的情况下,播放所述目标对象。
在本发明实施的另一个方面,还提供了另一种多媒体对象的连播控制方法,应用于连播内容的提供端,所述方法包括:
接收连播内容的请求端发送的第一获取请求,并根据所述第一获取请求,向所述请求端发送所述第一获取请求对应的目标对象;
其中,所述第一获取请求包括所述目标对象的信息,所述第一获取请求由所述请求端在获取数据结构树后,根据当前播放对象在所述数据结构树中的位置和播放次序,在所述数据结构树中确定位于所述当前播放对象之后播放的目标对象的信息后,向所述提供端发送;
其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到。
在本发明实施的另一个方面,还提供了一种多媒体对象的连播控制装置,所述装置包括:
第一获取模块,用于获取多个待播放节目列表,以及所述待播放节目列表中包含的待播放对象;
生成模块,用于根据所述待播放节目列表和所述待播放对象,得到数据结构树,所述数据结构树按照所述待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到;
第一确定模块,用于确定当前播放对象在所述数据结构树中的位置;
第二获取模块,用于根据当前播放对象及所述数据结构树,获取目标对象信息,所述目标对象信息为下一个播放对象的信息。
在本发明实施的另一个方面,还提供了另一种多媒体对象的连播控制装置,应用于连播内容的请求端,所述装置包括:
第三获取模块,用于获取数据结构树;其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到;
第一确定模块,用于确定当前播放对象在所述数据结构树中的位置;
第二确定模块,用于根据所述当前播放对象在所述数据结构树中的位置和所述播放次序,在所述数据结构树中确定位于所述当前播放对象之后播放的目标对象的信息;
第一请求模块,用于向连播内容的提供端发送第一获取请求,以获取所述目标对象;其中,所述第一获取请求包括所述目标对象的信息;
第一播放模块,用于接收所述提供端针对所述第一获取请求反馈的所述目标对象,并在所述当前播放对象播放结束的情况下,播放所述目标对象。
在本发明实施的另一个方面,还提供了另一种多媒体对象的连播控制装置,应用于连播内容的提供端,所述装置包括:
第一反馈模块,用于接收连播内容的请求端发送的第一获取请求,并根据所述第一获取请求,向所述请求端发送所述第一获取请求对应的目标对象;
其中,所述第一获取请求包括所述目标对象的信息,所述第一获取请求由所述请求端在获取数据结构树后,根据当前播放对象在所述数据结构树中的位置和播放次序,在所述数据结构树中确定位于所述当前播放对象之后播放的目标对象的信息后,向所述提供端发送;
其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到。
在本发明实施的另一方面,还提供了一种多媒体对象的连播控制***,包括连播内容的请求端及提供端;
所述请求端获取数据结构树;其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到;
所述请求端确定当前播放对象在所述数据结构树中的位置;
所述请求端根据所述当前播放对象在所述数据结构树中的位置和所述播放次序,在所述数据结构树中确定位于所述当前播放对象之后播放的目标对象的信息;
所述请求端向所述提供端发送第一获取请求,以获取所述目标对象;其中,所述第一获取请求包括所述目标对象的信息;
所述提供端接收所述请求端发送的第一获取请求,并根据所述第一获取请求,向所述请求端发送所述第一获取请求对应的目标对象;
所述请求端接收所述目标对象,并在所述当前播放对象播放结束的情况下,播放所述目标对象。
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,和所述存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,执行上述任一项所述的多媒体对象的连播控制方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一所述的多媒体对象的连播控制方法。
相对于现有技术,本发明所述的一种多媒体对象的连播控制方法、***及装置具有以下优势:
本发明实施例提供的一种多媒体对象的连播控制方法、***及装置,包括:获取多个待播放节目列表,以及待播放节目列表中包含的待播放对象;根据待播放节目列表和待播放对象,得到数据结构树,数据结构树按照待播放节目列表的播放次序,以及待播放节目列表和待播放对象的从属关系得到;根据当前播放对象及所述数据结构树,获取目标对象信息,所述目标对象信息为下一个播放对象的信息。本发明实施例中,可以预先根据获取到的待播放节目列表和待播放节目列表中包含的待播放对象,得到表征待播放节目列表和所述待播放对象的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系的数据结构树,使得在后续可以直接根据数据结构树通过连播控制逻辑实现连播控制,无需在进行连播控制逻辑的同时,进行用于确定目标对象的业务逻辑判断,从而将业务逻辑判断过程从连播控制过程中剥离,避免对连播控制过程产生影响,从而提高多节目列表情况下连播业务的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中一种多媒体对象的连播控制方法的步骤流程图;
图2为本发明实施例中一种多媒体对象的连播控制***的示意图;
图3为本发明实施例中一种数据结构树的示意图;
图4为本发明实施例中一种数据结构树的构建和遍历***的示意图;
图5为本发明实施例中一种多媒体对象的连播控制方法的具体步骤流程图;
图6为本发明实施例中另一种数据结构树的示意图;
图7为本发明实施例中一种任务链的示意图;
图8为本发明实施例中另一种多媒体对象的连播控制方法的具体步骤流程图;
图9为本发明实施例中又一种多媒体对象的连播控制方法的具体步骤流程图;
图10为本发明实施例中一种多媒体对象的连播控制装置的结构框图;
图11为本发明实施例中另一种多媒体对象的连播控制装置的结构框图;
图12为本发明实施例中又一种多媒体对象的连播控制装置的结构框图;
图13为本发明实施例中一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
参照图1,示出了本发明实施例所述的一种多媒体对象的连播控制方法的步骤流程图。本发明实施例中,上述多媒体对象具体可以为视频、音乐、图片等。以视频为多媒体对象,图2示出了本发明实施例所述的一种多媒体对象的连播控制***的示意图,所述多媒体对象的连播控制方法可以通过如图2所示的多媒体对象的连播控制***实现,所述多媒体对象的连播控制***可以包括数据结构树构建模块10和视频控制模块20。
其中,数据结构树构建模块(AbsPlaylistManager)10可以为模版类,用于构建数据结构树、确定数据结构树的展开策略,以及从后台或本地获取数据结构树中每个待播放节目列表中包含的视频。视频控制模块(IPlaylistManager)20可以为数据结构树的对外接口,用户可以通过该接口实现获取当前视频(getCurrent())、获取下一个视频(getNext())、获取上一个视频(getPrevious())、切集(setCurrent())、播放上一个视频(moveToPrevious())、播放下一个视频(moveToNext())、获取播放列表(getPalylist())等控制操作。如图2所示,数据结构树构建模块10与视频控制模块20之间为继承关系,即数据结构树构建模块10也可以继承视频控制模块20中针对数据结构树的控制功能,数据结构树构建模块10提供了视频控制模块20的默认实现,用户也可以根据实际的业务进行自定义。
具体的,数据结构树构建模块10可以包含第一函数子模块(createVideoTree():TreeNode)、第二函数子模块(createTreeLoader():TreeLoader)和第三函数子模块(createPlaylistJob(node):PlaylistJob)。
其中,第一函数子模块可以通过创建TreeNode模块30,使得数据结构树构建模块10与TreeNode模块30建立组合关系,从而可以通过TreeNode模块30实现获取多个待播放节目列表,以及待播放节目列表中包含的待播放视频,并根据待播放节目列表和待播放视频,得到数据结构树;所述第二函数子模块可以通过创建TreeLoader模块40,使得数据结构树构建模块10与TreeLoader模块40建立组合关系,从而可以通过TreeLoader模块40实现根据数据结构树中待播放节目列表和子节目列表具有的展示属性,确定进行展示的目标列表,即创建数据结构树的展示策略,在播放的不同阶段中展开数据结构树中的目标列表;所述第三函数子模块可以通过创建PlaylistJob模块50,使得数据结构树构建模块10与PlaylistJob模块50建立关联关系,从而可以通过PlaylistJob模块50获取所述目标列表包含的目标待播放视频,即创建目标列表的展开任务,并从后台或本地获取目标列表包含的目标待播放视频或目标子列表,以将目标待播放视频或目标子列表添加至目标列表中。
步骤101,获取多个待播放节目列表,以及所述待播放节目列表中包含的待播放对象。
在该步骤中,可以预先获取多个待播放的待播放节目列表,以及待播放节目列表中包含的待播放对象。
以视频为多媒体对象,图3示出了本发明实施例所述的一种数据结构树的示意图,如图3所示,预先获取到待播放节目列表包括列表一、列表二、列表三,其中,列表一中还包括列表1、列表2......列表n的n个子列表,列表1中包含n个待播放视频:视频1、视频2......视频n,列表二中包含m个待播放视频:视频n+1......视频n+m,以及列表三中可以不用预先获取其包含的待播放视频,而在根据展开策略对列表三进行展开时,再从后台或本地获取其包含的待播放视频。
步骤102,根据所述待播放节目列表和所述待播放视频,得到数据结构树,所述数据结构树按照所述待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放视频的从属关系得到。
在该步骤中,在获取到待播放节目列表和待播放视频之后,可以按照各个待播放节目列表的播放次序,以及待播放节目列表和待播放视频的从属关系构建数据结构树。
以视频为多媒体对象,图4示出了本发明实施例所述的一种数据结构树的构建和遍历***的示意图,如图4所示,数据结构树的构建和遍历***可以包括TreeNode模块30和TreeIterator模块70,其中,TreeNode模块30可以实现根据待播放节目列表和待播放视频构建数据结构树。
具体的,TreeNode模块30可以添加节点(addNode(node:T)、addNodeAll(nodeList:List<T>))、确定添加的节点的节点坐标(addNode(index:int,node:T)、addNodeAll(index:int,nodeList:List<T>))、确定子节点(children():List<T>)、子节点的数量和子节点的坐标(getChildAt(index:int):T、getChildCount():int)、确定父节点(getParent():T),确定数据结构树中的父节点(mParent),以及父节点包含的子节点(mChildren)。
例如,参照图3,预先获取到待播放节目列表包括列表一、列表二、列表三,且的播放次序为列表一、列表二、列表三。其中,列表一中还包括列表1、列表2......列表n的n个子列表,列表1中包含n个待播放视频:视频1、视频2......视频n,列表二中包含m个待播放视频:视频n+1......视频n+m。由此构建数据结构树:首先,确定数据结构树中的根节点,然后,可以确定该数据结构树中第一层级包含三个节点:列表一、列表二、列表三,其中,列表一作为父节点,其包含n个子节点,分别为列表1、列表2......列表n,进一步的,列表1也可以作为父节点,其包含n个子节点,分别为视频1、视频2......视频n;列表二作为父节点,其包含m个子节点,分别为:视频n+1......视频n+m;列表三作为父节点,不包含子节点。由此可知,该数据结构树中第二层级包含n+m个节点,第三层级包含n个节点,且相邻层级之间的节点之间的关系如图3所示。
步骤103,根据当前播放对象及所述数据结构树,获取目标对象信息,所述目标对象信息为下一个播放对象的信息。
在该步骤中,在确定了数据结构树之后,可以根据当前播放对象信息,确定当前播放对象在数据结构树中的位置,进而可以在数据结构树中确定位于当前播放对象之后播放的目标对象,从而可以在当前播放对象播放结束的情况下,自动播放目标对象,进而实现多媒体对象的连播控制。
例如,参照图3,若当前播放视频为视频2,则可以确定当前播放视频在数据结构树中的位置为第三层级,其父节点为列表1,祖父节点为列表一;若当前播放视频为视频2,则可以确定当前播放视频在数据结构树中的位置为第三层级,其父节点为列表1,祖父节点为列表一,且列表1包含n个子节点的播放次序为视频1、视频2......视频n,则可以确定当前播放视频对应的目标视频为视频3,进而在视频2播放结束之后,自动连播视频3。
综上所述,本发明实施例提供的一种多媒体对象的连播控制方法,包括:获取多个待播放节目列表,以及待播放节目列表中包含的待播放视频;根据待播放节目列表和待播放视频,得到数据结构树,数据结构树按照待播放节目列表的播放次序,以及待播放节目列表和待播放视频的从属关系得到;根据当前播放对象及所述数据结构树,获取目标对象信息,所述目标对象信息为下一个播放对象的信息。本发明实施例中,可以预先根据获取到的待播放节目列表和待播放节目列表中包含的待播放对象,得到表征待播放节目列表和所述待播放对象的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系的数据结构树,使得在后续可以直接根据数据结构树通过连播控制逻辑实现连播控制,无需在进行连播控制逻辑的同时,进行用于确定目标对象的业务逻辑判断,从而将业务逻辑判断过程从连播控制过程中剥离,避免对连播控制过程产生影响,从而提高多节目列表情况下连播业务的效率。
参照图5,示出了本发明实施例所述的一种多媒体对象的连播控制方法的具体步骤流程图。
步骤201,获取多个待播放节目列表,以及所述待播放节目列表中包含的待播放对象。
该步骤具体可参照步骤101,此处不再赘述。
步骤202,确定所述多个待播放节目列表中的一个或多个待播放节目列表包含的多级子节目列表,以及所述子节目列表包含的多个待播放对象。
在该步骤中,由于获取到的多个待播放节目列表的一个或多个待播放节目列表中可以包含多级子节目列表,因此,在获取到待播放节目列表之后,可以进一步确定具有子节目列表的待播放节目列表中包含的多级子节目列表,以及子节目列表包含的多个待播放对象。
以视频为多媒体对象,图6示出了本发明实施例所述的另一种数据结构树的示意图,如图6所示,预先获取到待播放节目列表包括列表一、列表二、列表三,其中,列表一又进一步包含3个子节目列表:列表1、列表2和列表3,其中,列表1中包含2个待播放视频:视频1和视频2;列表2中包含1个待播放视频:视频3;列表3中包含2个待播放视频:视频4和视频5。列表二和列表三不包含子节目列表,直接包含待播放视频,列表二中包含1个待播放视频:视频6;列表三中包含2个待播放视频:视频7和视频8。
步骤203,根据所述待播放节目列表的播放次序、所述待播放节目列表包含的多级子节目列表,以及所述子节目列表包含的多个待播放对象,构建所述数据结构树。
在该步骤中,可以根据确定的多个待播放节目列表,待播放节目列表包含的多级子节目列表,以及子节目列表包含的多个待播放对象,构建数据结构树。
例如,参照图6,根据上述步骤202中确定的多个待播放节目列表,待播放节目列表包含的多级子节目列表,以及子节目列表包含的多个待播放视频,此构建数据结构树:首先,确定数据结构树中的根节点,然后,可以确定该数据结构树中第一层级包含三个节点:列表一、列表二、列表三,其中,列表一作为父节点,其包含3个子节点,分别为列表1、列表2和列表3,进一步的,列表1也可以作为父节点,其包含2个子节点,分别为视频1和视频2;列表2也可以作为父节点,其包含1个子节点,为视频3;列表3也可以作为父节点,其包含2个子节点,分别为视频4和视频5。列表二作为父节点,其包含1个子节点,为视频6;列表三作为父节点,包含2个子节点,为视频7和视频8。由此可知,该数据结构树中第二层级包含8个节点,第三层级包含5个节点,且相邻层级之间的节点之间的关系如图6所示。
步骤204,根据当前播放对象在所述数据结构树中的位置,按照深度优先的顺序遍历所述数据结构树,在所述数据结构树包含的待播放对象信息中,将与所述当前播放对象相邻的下一个对象的信息确定为所述目标对象信息。
在该步骤中,在确定了数据结构树之后,可以确定当前播放对象在数据结构树中的位置。
例如,参照图3,若当前播放视频为视频3,则可以确定当前播放视频在数据结构树中的位置为第三层级,其父节点为列表2,祖父节点为列表一。
在该步骤中,在确定了数据结构树和当前播放对象在数据结构树中的位置之后,可以根据当前播放对象在数据结构树中的位置,按照深度优先的顺序遍历数据结构树,在数据结构树包含的待播放对象信息中将与所述当前播放对象相邻的下一个对象的信息确定为目标对象信息,从而可以在当前播放对象播放结束的情况下,自动播放目标对象信息对应的目标对象,进而实现多媒体对象的连播控制。
例如,参照图6,若当前播放视频为视频3,则可以确定当前播放视频在数据结构树中的位置为第三层级,其父节点为列表2,祖父节点为列表一,在该数据结构树中,根据深度优先的顺序遍历数据结构树,则可以确定当前播放视频对应的目标视频为视频4,进而在视频3播放结束之后,自动连播视频4。
其中,由于数据结构树为非线性结构的树形结构,从而可以利用深度优先的遍历顺序,将非线性结构的数据结构树线性化。深度优先的顺序,是采用递归的思想,先沿着树形结构中的一条链路向根节点搜索,完整的搜索完一条链路之后,返回到另一个链路向根节点进行搜索。
例如,参照图6,按照深度优先的顺序遍历该数据结构树,该数据结构树中包含的待播放视频的遍历顺序依次为:视频1、视频2......视频8,若确定当前播放视频为视频3,则可以确定对应的目标视频为视频4,进而在视频3播放结束之后,自动连播视频4。
在本发明实施例中,上述遍历过程可以通过迭代器实现,参照图4,TreeIterator迭代器70可以实现数据结构树的遍历,具体的,TreeNode模块30与TreeIterator迭代器70之间为关联关系,因此,TreeNode模块30在实现根据待播放节目列表和待播放视频构建数据结构树之后,可以利用TreeIterator迭代器70实现数据结构数的遍历(treeIterator():TreeIterator<T>)。例如,TreeIterator迭代器70可以查找并获取下一个节点(hasNext():Boolean、next():E),也可以查找并获取上一个节点(hasPrevious():Boolean、previou():E)。
此外,数据结构树的构建和遍历***中还可以包括Cloneable继承模块80,TreeIterator迭代器70与Cloneable继承模块80之间为继承关系,因此,TreeIterator迭代器70的遍历结果可以进行复制存储,仅在数据结构树的结构发生变化时,再次重新进行遍历,以确定数据结构树的结构。
可选的,所述数据结构树中的节点具有节点坐标,所述节点坐标包含所述节点对应的祖先节点相对于父节点的位置,以及所述节点相对于父节点的位置,步骤204具体可以包括:
子步骤2041,确定所述当前播放对象对应的节点坐标。
在该步骤中,首先确定当前播放对象对应的节点坐标。
具体的,数据结构树中节点的节点坐标包含节点对应的祖先节点相对于父节点的位置,以及节点相对于父节点的位置,参照图6,若当前播放视频为视频3,当前播放视频的祖先节点包括父节点列表2和祖父节点列表一,当前播放视频相对于父节点的位置为0(即视频3的父节点包含的子节点中的第一个),当前播放视频的父节点列表2相对于父节点的位置为1(即列表2的父节点包含的子节点中的第二个),当前播放视频的祖父节点列表一相对于父节点的位置为0(即列表一的父节点包含的子节点中的第一个),因此,当前播放视频的节点坐标为[0,1,0]。
子步骤2042,根据所述当前播放对象对应的节点坐标,以及所述数据结构树中待播放对象对应的节点坐标,按照深度优先的顺序,确定所述目标对象信息。
在该步骤中,在确定了当前播放对象对应的节点坐标之后,可以根据当前播放对象对应的节点坐标,以及数据结构树中待播放对象对应的节点坐标,按照深度优先的顺序,确定目标对象信息。
参照图6,数据结构树的待播放视频中视频1对应的节点坐标为[0,0,0],视频2对应的节点坐标为[1,0,0],视频3对应的节点坐标为[0,1,0],视频4对应的节点坐标为[0,2,0],视频5对应的节点坐标为[1,2,0],视频6对应的节点坐标为[0,1],视频7对应的节点坐标为[0,2],视频8对应的节点坐标为[1,2]。即数据结构树中的每一个待播放视频都具有可以表征深度层级的节点坐标,因此,可以根据节点坐标实现按照深度优先的顺序进行数据结构树的遍历。
若当前播放视频为视频3,则当前播放视频对应的节点坐标为[0,1,0],则可以按照深度优先的顺序,确定节点坐标为[0,2,0]的视频4为当前播放视频对应的目标视频。
在本发明实施例中,可以存储数据结构树中各待播放对象对应的节点的节点坐标,从而可以根据各节点坐标,快速、准确的确定与当前播放对象对应的目标对象,从而快速的实现多媒体对象的连播控制,提高多媒体对象连播控制的效率。
可选的,在步骤203之后,所述方法还可以包括:
步骤205,响应于展示指令,确定所述展示指令对应的第一待播放对象。
该步骤中,展示指令是触发展示播放列表的指令,具体可以是对待播放对象的播放操作,因而可以确定该展示指令所对应的待播放对象,也即上述第一待播放对象。
步骤206,基于所述数据结构树获取所述第一待播放对象所属的第一播放列表。
该步骤中,因为上述数据结构树是根据待播放节目列表的播放次序、待播放节目列表包含的多级子节目列表、以及子节目列表包含的多个待播放对象所构建的,因而可以基于上述数据结构树,快速确定出上述第一待播放对象所属的播放列表,作为上述第一播放列表。
步骤207,配置所述第一播放列表的其余待播放对象的信息。
该步骤中,获取该第一播放列表中除上述第一待播放对象之外的其余多媒体对象的信息,作为上述其余待播放对象的信息,并将上述信息配置入上述第一播放列表中,便于在播放该第一播放列表中的任意一个待播放对象时,快速获取及展示该第一播放列表中的各多媒体对象,以供用户查看或切换播放多媒体对象。
可选地,在步骤206之后,所述方法还可以包括:
步骤208,在所述第一待播放对象为所述第一播放列表的末位对象时,基于所述数据结构树获取逻辑上与所述第一播放列表邻接的第二播放列表信息。
该步骤中,因为上述数据结构树是根据待播放节目列表的播放次序、待播放节目列表包含的多级子节目列表、以及子节目列表包含的多个待播放对象所构建的,因而在第一待播放对象为第一播放列表的末位对象时,可以基于上述数据结构树,快速确定出逻辑上与上述第一播放列表邻接的播放列表,作为上述第二播放列表。
步骤209,获取所述第二播放列表中包含的第二待播放对象的信息。
该步骤中,基于上述第二播放列表的列表信息,获取其所包含的各待播放对象的信息,也即上述第二待播放对象的信息,以便于在当前播放对象播放完毕时,快速进行连播展示。
参照图8,示出了本发明实施例所述的另一种多媒体对象的连播控制方法的具体步骤流程图,该连播控制方法,应用于连播内容的请求端,该方法包括步骤801~步骤805。
本发明实施例中,上述连播内容的请求端可以是手机、平板电脑等。
步骤801,获取数据结构树;其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到。
该步骤具体可参照步骤102,此处不再赘述。
步骤802,确定当前播放对象在所述数据结构树中的位置。
在该步骤中,在确定了数据结构树之后,可以确定当前播放对象在数据结构树中的位置。
例如,参照图3,若当前播放视频为视频3,则可以确定当前播放视频在数据结构树中的位置为第三层级,其父节点为列表2,祖父节点为列表一。
步骤803,根据所述当前播放对象在所述数据结构树中的位置和所述播放次序,在所述数据结构树中确定位于所述当前播放对象之后播放的目标对象的信息。
在该步骤中,在确定了数据结构树和当前播放对象在数据结构树中的位置之后,可以根据当前播放对象在数据结构树中的位置,在数据结构树中确定位于当前播放对象之后播放的目标对象的信息,从而可以在当前播放对象播放结束的情况下,根据该目标对象的信息,自动播放目标对象,进而实现多媒体对象的连播控制。
其中,若当前播放对象处于所属节目列表的非结尾位置,则将该节目列表下一位置的播放对象作为目标对象;若当前播放对象处于所属节目列表的结尾位置,则将下一节目列表的第一个的播放对象作为目标对象;若当前播放对象处于所属子节目列表的非结尾位置,则将该子节目列表的下一位置的播放对象作为目标对象;若当前播放对象处于所属子节目列表的结尾位置,且该所属子节目列表所属的节目列表包含下一个子节目列表,则将该下一个子节目列表的第一个的播放对象作为目标对象;若当前播放对象处于所属子节目列表的结尾位置,且该所属子节目列表为所属节目列表的最后一个子节目列表,则将结构树中与该所属节目列表邻接的下一个节目列表的第一个的播放对象作为目标对象。
例如,参照图3,若当前播放视频为视频2,则可以确定当前播放视频在数据结构树中的位置为第三层级,其父节点为列表1,祖父节点为列表一,且列表1包含n个子节点的播放次序为视频1、视频2......视频n,则可以确定当前播放视频对应的目标视频为视频3,进而在视频2播放结束之后,自动连播视频3;若当前播放视频为视频n,则可以确定当前播放视频在数据结构树中的位置为第三层级,其父节点为列表1,祖父节点为列表一,且列表1包含n个子节点的播放次序为视频1、视频2......视频n,视频n为所属列表1的结尾位置,且列表1所属的列表一不存在其他包含视频的子列表,因而将其邻接的列表二的第一个视频作为目标视频,即确定当前播放视频对应的目标视频为视频n+1,进而在视频n播放结束之后,自动连播视频n+1;
如图6所示,若当前播放视频为视频6,则可以确定当前播放视频在数据结构树中的位置为第二层级,其父节点为列表二,且列表二仅包含1个子节点的视频6,则可以确定当前播放视频对应的目标视频为列表二邻接的列表三的第一个视频7,进而在视频6播放结束之后,自动连播视频7;若当前播放视频为视频7,则可以确定当前播放视频在数据结构树中的位置为第二层级,其父节点为列表三,且列表三仅包含2个子节点的视频7和视频8,则可以确定当前播放视频对应的目标视频为视频8,进而在视频7播放结束之后,自动连播视频8。
步骤804,向连播内容的提供端发送第一获取请求,以获取所述目标对象;其中,所述第一获取请求包括所述目标对象的信息。
该步骤中,连播内容的提供端具体可以是服务器或后台;因为通过上述步骤803所确定的只是目标对象的信息,无法直接进行播放,需要向提供端发送包括该目标对象的信息的第一获取请求,才能够获取该目标对象。其中,所获取的目标对象可以是目标对象的多媒体数据或下载地址。
步骤805,接收所述提供端针对所述第一获取请求反馈的所述目标对象,并在所述当前播放对象播放结束的情况下,播放所述目标对象。
该步骤中,因为提供端在接收到上述第一获取请求后,会获取该目标对象,并将目标对象反馈给上述请求端,然后请求端在当前播放对象播放结束后可以自动连播上述目标对象。其中,在反馈的为目标对象的多媒体数据时,请求端在当前播放对象播放结束后可以直接播放上述多媒体数据;而在反馈的为上述目标对象为下载地址时,请求端在当前播放对象播放结束后通过该下载地址请求相应的多媒体数据,然后进行播放。
综上所述,本发明实施例提供的一种多媒体对象的连播控制方法,应用于连播内容的请求端,获取预先按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到的数据结构树,在后续连播内容的请求端可以直接根据数据结构树确定目标对象,并通过在向提供端发送第一获取请求后由提供端反馈给请求端,从而通过连播控制逻辑实现连播控制,无需在进行连播控制逻辑的同时,进行用于确定目标对象的业务逻辑判断,从而将业务逻辑判断过程从连播控制过程中剥离,避免对连播控制过程产生影响,从而提高多节目列表情况下连播业务的效率。
可选的,本发明实施例所提供的多媒体对象的连播控制方法中,所述待播放节目列表和所述子节目列表具有展示属性,所述展示属性包括预先展示,所述预先展示为在播放对象时,将所述数据结构树中与所述对象关联的全部待播放节目列表或子节目列表中包含的待播放对象进行展示;
在步骤801之后,所述方法还包括:
步骤806,在所述当前播放对象处于播放状态的情况下,遍历所述数据结构树,从所述数据结构树中筛选出所述展示属性为所述预先展示的全部待播放节目列表或子节目列表,生成第三播放列表。
在本发明实施例中,在确定了数据结构树之后,可以创建数据结构树的展示策略,在播放的不同阶段中展开数据结构树中相应的节目列表。
其中,数据结构树中包含的待播放节目列表和子节目列表可以具有展示属性,所述展示属性可以包括预先展示和连播展示,所述预先展示可以为在播放多媒体对象时,将数据结构树中与该多媒体对象关联的全部待播放节目列表或子节目列表中包含的待播放对象进行展开并展示;所述连播展示为在播放待播放节目列表或子节目列表中的最后一个多媒体对象时,仅将下一个待播放节目列表或下一个子节目列表中包含的待播放对象进行展开并展示。
在该步骤中,在当前播放对象处于播放状态的情况下,遍历数据结构树,从数据结构树中筛选出展示属性为预先展示的全部待播放节目列表或子节目列表,生成第三播放列表,从而可以实现在当前播放对象的显示界面中展示第三播放列表包含的待播放对象,以供用户查看第三播放列表包含的待播放对象,并实现例如切集、播放上一个、播放下一个等多媒体对象的播放控制。
具体的,参照图2,TreeLoader模块40可以用于遍历数据结构树中待播放节目列表和子节目列表具有的展示属性,确定进行展示的目标列表,即创建数据结构树的展示策略,在播放的不同阶段中展开数据结构树中的目标列表。即TreeLoader模块40可以遍历数据结构树,从数据结构树中筛选得到展示属性为预先展示的待播放节目列表和子节目列表,得到第一目标列表。
此外,数据结构树中包含的待播放节目列表和子节目列表具有的展示属性还可以为不展示,从而针对具有该类展示属性的待播放节目列表和子节目列不进行展开并展示。
步骤807,向连播内容的提供端发送第二获取请求,以获取所述第三播放列表中包含的第三待播放对象。
该步骤中,需要由请求端向提供端发送第二获取请求的方式,触发获取上述预先展示的第三播放列表所包含的第三待播放对象。
步骤808,接收所述提供端针对所述第二获取请求反馈的所述第三待播放对象,并在所述当前播放对象的显示界面中展示所述第三待播放对象的第三标识信息。
该步骤中,因为提供端在接收到上述第二获取请求后,会获取第三播放列表所包含的第三待播放对象,并将第三待播放对象反馈给上述请求端,然后请求端在当前播放对象的显示界面可以展示各第三待播放对象的第三标识信息,以供用户查看第三播放列表包含的待播放对象,并实现例如切集、播放上一个、播放下一个等多媒体对象的播放控制。
具体的,参照图2,PlaylistJob模块50可以用于从后台或本地获取所述第三播放列表包含的第三待播放对象,以将第三待播放对象添加至第三播放列表中。
此外,还可以在成功获取到第三播放列表中包含的第三待播放对象之后,可以在当前播放对象的显示界面中显示通知信息,以表征已成功获取到第三播放列表中包含的第三待播放对象,并确认是否在当前播放对象的显示界面中展示第三待播放对象的标识信息。
具体的,参照图2,视频的连播控制***还可以包括INodeExpandLister通知模块60,用于生成和发送通知信息(onNodeExpand()、onAllNodeExpand()),数据结构树构建模块10与INodeExpandLister通知模块60之间为继承关系,即数据结构树构建模块10也可以继承INodeExpandLister通知模块60中生成和发送通知信息的功能。
进一步的,在得到第三播放列表中包含的第三待播放对象之后,可以进一步在当前播放对象的显示界面中展示第三待播放对象的标识信息,以供用户可以在当前播放对象的显示界面中,针对第三待播放对象的标识信息进行相关操作,从而实现视频的播放控制。
步骤809,在接收针对所述第三标识信息的第一播放指令的情况下,播放所述第三标识信息对应的待播放对象。
该步骤中,在接收针对第三标识信息的第一播放指令时,说明用户需要观看第三标识信息对应的待播放对象,因而播放所述第三标识信息对应的待播放对象。
可选的,步骤807中向连播内容的提供端发送第二获取请求,以获取所述第三播放列表中包含的第三待播放对象的过程,具体可以包括:
子步骤8071,为所三播放列表中的每一个待播放节目列表和子节目列表生成一个任务节点,所述任务节点用于获取所述待播放节目列表和子节目列表包含的待播放对象。
在该步骤中,可以通过任务链的方式,获取第一三播放列表中包含的第三待播放对象。
具体的,可以为第三播放列表中的每一个待播放节目列表和子节目列表生成一个任务节点,通过执行该任务节点,可以实现从后台或本地获取第一目标列表中的每一个待播放节目列表和子节目列表包含的待播放对象。
子步骤8072,根据所述第三播放列表中的每一个待播放节目列表和子节目列表的播放次序,将所述第一目标列表中的每一个待播放节目列表和子节目列表对应的任务节点依次设置到序列中生成任务链。
在该步骤中,可以根据第三播放列表中的每一个待播放节目列表和子节目列表的播放次序,将所述第三播放列表中的每一个待播放节目列表和子节目列表对应的任务节点依次设置到序列中生成任务链(PlayListJob)。
参照图3,遍历数据结构树,若数据结构树中待播放节目列表中列表一、列表二的展示属性为预先展示,列表三的展示属性为连播展示,列表一的子节目列表中列表1的展示属性为预先展示,列表2......列表n的展示属性为连播展示,则可以确定第一目标列表中包含两个列表:列表一中的列表1和列表二,并为列表一中的列表1和列表二分别生成两个任务节点,图7示出了本发明实施例所述的一种任务链的示意图,如图7所示,可以在生成用于开始执行任务链的辅助任务节点HeadJob之后,在辅助任务节点HeadJob之后,将列表1和列表二分别生成的两个任务节点依次设置到序列中,并在任务链的尾部生成用于结束执行任务链的辅助任务节点PreloadFinishJob,生成预先展开阶段的任务链。
子步骤8073,串行执行所述任务链中包含的每个任务节点,获取所述第三待播放对象。
在该步骤中,在生成预先展开阶段的任务链之后,可以串行执行该任务链中包含的每个任务节点,从而获取第三播放列表中包含的第三待播放对象。
具体的,结合图2、图3和图7,若预先展开阶段的任务链中包含列表1和列表二分别生成的两个任务节点,则playlistJob模块50可以执行任务链(onRun()),完成两个任务节点的执行,从后台或本地依次获取列表1包含的待播放视频:视频1、视频2......视频n,获取列表二包含的待播放视频:视频n+1......视频n+m,从而构成包含n+m个待播放视频:视频1、视频2......视频n,视频n+1.....视频n+m的第一目标待播放视频。
同时,在执行完两个任务节点,获取各列表包含的待播放视频之后,可以通过INodeExpandLister通知模块60生成和发送通知信息,从而上报预先展开阶段完成(onNodeExpand)事件。
可选的,本发明实施例所提供的多媒体对象的连播控制方法中,所述展示属性还包括连播展示,所述连播展示为在播放所述待播放节目列表或所述子节目列表中的最后一个对象时,将下一个待播放节目列表或下一个子节目列表中包含的待播放对象进行展示;
在步骤801之后,所述方法还包括:
步骤810,确定所述当前播放对象所处的当前播放节目列表或当前播放子节目列表。
在本发明实施例中,在确定了数据结构树之后,可以创建数据结构树的展示策略,在播放的不同阶段中展开数据结构树中相应的节目列表。
具体的,可以在当前播放对象处于播放状态,且当前播放对象为当前播放节目列表或当前播放子节目列表中的最后一个对象的情况下,对数据结构树中的待播放对象进行连播展开。
在该步骤中,可以首先确定当前播放对象所处的当前播放节目列表或当前播放子节目列表。
例如,参照图3,若当前播放视频为视频n,则可以确定当前播放视频所处的当前播放子节目列表为列表1。
步骤811,在所述当前播放对象处于播放状态,且所述当前播放对象为所述当前播放节目列表或所述当前播放子节目列表中的最后一个对象的情况下,从所述数据结构树中确定第一个展示属性为所述连播展示的第四播放列表。
在该步骤中,在当前播放对象处于播放状态,且当前播放对象为当前播放节目列表或当前播放子节目列表中的最后一个对象的情况下,遍历数据结构树,从数据结构树中筛选出第一个展示属性为连播展示的第四播放列表,从而可以实现在当前播放对象的显示界面中展示第四播放列表包含的待播放对象,以供用户查看第四播放列表包含的待播放对象,并实现例如切集、播放上一个、播放下一个等视频的播放控制。
具体的,参照图2,TreeLoader模块40可以用于遍历数据结构树中待播放节目列表和子节目列表具有的展示属性,确定进行展示的目标列表,即创建数据结构树的展示策略,在播放的不同阶段中展开数据结构树中的目标列表。即TreeLoader模块40可以遍历数据结构树,从数据结构树中筛选得到第一个展示属性为连播展示的待播放节目列表和子节目列表,得到第二目标列表。
步骤812,向连播内容的提供端发送第三获取请求,以获取所述第四播放列表中包含的第四待播放对象。
该步骤中,需要由请求端向提供端发送第三获取请求的方式,触发获取上述展示属性为连播展示的第四播放列表所包含的第四待播放对象。
步骤813,接收所述提供端针对所述第三获取请求反馈的所述第四待播放对象,并在所述当前播放对象的显示界面中展示所述第四待播放对象的第四标识信息。
该步骤中,因为提供端在接收到上述第三获取请求后,会获取第四播放列表所包含的第四待播放对象,并将第四待播放对象反馈给上述请求端,然后请求端在当前播放对象的显示界面可以展示各第四待播放对象的第四标识信息,以供用户查看第四播放列表包含的待播放对象,并实现例如切集、播放上一个、播放下一个等多媒体对象的播放控制。
在该步骤中,在从数据结构树中筛选出第四播放列表之后,可以从后台或本地获取第四播放列表中包含的第四待播放对象。
具体的,参照图2,PlaylistJob模块50可以用于从后台或本地获取所述第四播放列表包含的第四待播放对象,以将第四待播放对象添加至第四播放列表中。
此外,还可以在成功获取到第四播放列表中包含的第四待播放对象之后,可以在当前播放对象的显示界面中显示通知信息,以表征已成功获取到第四播放列表中包含的第四待播放对象,并确认是否在当前播放对象的显示界面中展示第四待播放视频的标识信息。
具体的,参照图2,视频的连播控制***可以包括INodeExpandLister通知模块60可以用于生成和发送通知信息(onNodeExpand()、onAllNodeExpand()),数据结构树构建模块10与INodeExpandLister通知模块60之间为继承关系,即数据结构树构建模块10可以继承INodeExpandLister通知模块60中生成和发送通知信息的功能。
步骤814,在接收针对所述第四标识信息的第二播放指令的情况下,播放所述第四标识信息对应的待播放对象。
该步骤中,在接收针对第四标识信息的第二播放指令时,说明用户需要观看第四标识信息对应的待播放对象,因而播放所述第四标识信息对应的待播放对象。
可选的,步骤812中,向连播内容的提供端发送第三获取请求的过程,具体可以包括:
子步骤8121,为所述第四播放列表生成一个任务节点,并将所述第四播放列表对应的任务节点设置在所述任务链的最后。
在该步骤中,可以为第四播放列表生成一个任务节点,并将所述第四播放列表对应的任务节点设置在子步骤8072中的任务链中的最后,并在任务链的尾部生成用于结束执行任务链的辅助任务节点NextloadFinishJob,生成连播展开阶段的任务链。
子步骤8122,执行所述任务链中所述第四播放列表对应的任务节点,向连播内容的提供端发送第三获取请求,以获取所述第四待播放视频。
在该步骤中,可以执行任务链中第四播放列表对应的任务节点,实现从后台或本地获取第四播放列表包含的待播放对象。
例如,参照图3,遍历数据结构树,若数据结构树中待播放节目列表中列表三的展示属性为连播展示,列表一中的列表2......列表n的展示属性为连播展示,则可以确定在当前播放视频为视频n的情况下,第一个展示属性为连播展开的第二目标列表为列表2,进而可以通过执行任务链中列表2对应的任务节点,完成连播展开阶段。
此外,在本发明实施例中,参照图7,可以遍历数据结构树,从数据结构树中筛选出所有展示属性为连播展示的待播放节目列表或子节目列表,并为每一个展示属性为连播展示的待播放节目列表或子节目列表生成一个任务节点,从而将每一个展示属性为连播展示的待播放节目列表或子节目列表对应的任务节点设置在任务链中,参照图3,若数据结构树中列表一中的列表2......列表n、列表三的展示属性为连播展示,则可以设置n+1个任务节点。进而在执行完任务链中包含n+1个任务节点的预先展开阶段之后,继续串行执行任务链中的任务节点,并将多个展示属性为连播展示的待播放节目列表或子节目列表对应的任务节点中,第一个从后台或本地获取到所包含的待播放视频的待播放节目列表或子节目列表确定为第二目标列表,并结束任务链的执行,不再执行其他展示属性为连播展示的待播放节目列表或子节目列表对应的任务节点,完成任务链中的连播展开阶段。
同时,在成功获取各列表包含的待播放对象之后,可以通过INodeExpandLister通知模块60生成和发送通知信息,从而上报连播展开阶段完成(onNodeExpand)事件。并在预先展开阶段和连播展开阶段均执行完成后,上报任务链完成(onAllNodeExpand)事件。
综上所述,本发明实施例提供的一种多媒体对象的连播控制方法,预先根据获取到的待播放节目列表和待播放节目列表中包含的待播放对象,得到表征待播放节目列表和所述待播放对象的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系的数据结构树,使得在后续可以直接根据数据结构树通过连播控制逻辑实现连播控制,无需在进行连播控制逻辑的同时,进行用于确定目标对象的业务逻辑判断,从而将业务逻辑判断过程从连播控制过程中剥离,避免对连播控制过程产生影响,从而提高多节目列表情况下连播业务的效率。同时,可以通过设置不同的展开策略,确定数据结构树中与展开策略对应的待展开的目标节目列表和目标节目列表中包含的目标待播放对象,进而可以在当前播放对象的显示界面中展示不同展示策略对应的目标节目列表包含的目标待播放对象,以供用户获取目标节目列表包含的目标待播放对象,并可以基于目标节目列表包含的目标待播放对象,进行多媒体对象播放的控制。
参照图9,示出了本发明实施例所述的又一种多媒体对象的连播控制方法的具体步骤流程图,该连播控制方法,应用于连播内容的提供端,该方法包括步骤901。
步骤901,接收连播内容的请求端发送的第一获取请求,并根据所述第一获取请求,向所述请求端发送所述第一获取请求对应的目标对象;
其中,所述第一获取请求包括所述目标对象的信息,所述第一获取请求由所述请求端在获取数据结构树后,根据当前播放对象在所述数据结构树中的位置和播放次序,在所述数据结构树中确定位于所述当前播放对象之后播放的目标对象的信息后,向所述提供端发送;
其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到。
该步骤中,连播内容的提供端具体可以是服务器或后台;连播内容的请求端可以是手机、平板电脑等。
该步骤中,数据结构树的构建具体可参照步骤102,此处不再赘述。
该步骤中,连播内容的请求端在数据结构树之后,可以确定当前播放对象在数据结构树中的位置,然后根据当前播放对象在数据结构树中的位置,在数据结构树中确定位于当前播放对象之后播放的目标对象的信息,因为该信息无法直接进行播放,需要向提供端发送包括该目标对象的信息的第一获取请求,才能够获取该目标对象;因而提供端在接收到上述第一获取请求后,说明请求端需要获取该目标对象,所以提供端将目标对象反馈给上述请求端,然后请求端在当前播放对象播放结束后可以自动连播上述目标对象。其中,在反馈的为目标对象的多媒体数据时,请求端在当前播放对象播放结束后可以直接播放上述多媒体数据;而在反馈的为上述目标对象为下载地址时,请求端在当前播放对象播放结束后通过该下载地址请求相应的多媒体数据,然后进行播放。
综上所述,本发明实施例提供的一种多媒体对象的连播控制方法,应用于连播内容的提供端,获取预先按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到的数据结构树,在后续连播内容的请求端可以直接根据数据结构树确定目标对象,并通过在向提供端发送第一获取请求后由提供端反馈给请求端,从而通过连播控制逻辑实现连播控制,无需在进行连播控制逻辑的同时,进行用于确定目标对象的业务逻辑判断,从而将业务逻辑判断过程从连播控制过程中剥离,避免对连播控制过程产生影响,从而提高多节目列表情况下连播业务的效率。
可选的,本发明实施例所提供的多媒体对象的连播控制方法中,所述待播放节目列表和所述子节目列表具有展示属性,所述展示属性包括预先展示,所述预先展示为在播放对象时,将所述数据结构树中与所述对象关联的全部待播放节目列表或子节目列表中包含的待播放对象进行展示;
所述方法还包括:
步骤902,接收所述请求端发送的第二获取请求,并根据所述第二获取请求,向所述请求端反馈第三待播放对象,以供所述请求端在所述当前播放对象的显示界面中展示所述第三待播放对象的第三标识信息,并在接收针对所述第三标识信息的第一播放指令的情况下,播放所述第二标识信息对应的待播放对象;
其中,所述第二获取请求用于获取第三播放列表中包含的所述第三待播放对象,所述第三播放列表由所述请求端在获取数据结构树后,并在所述当前播放对象处于播放状态的情况下,遍历所述数据结构树,从所述数据结构树中筛选出所述展示属性为所述预先展示的全部待播放节目列表或子节目列表生成。
本发明实施例中,在当前播放对象处于播放状态的情况下,请求端可以遍历数据结构树,从数据结构树中筛选出展示属性为预先展示的全部待播放节目列表或子节目列表,生成第三播放列表,然后向提供端发送第二获取请求的方式,触发获取上述预先展示的第三播放列表所包含的第三待播放对象;因而提供端在接收到上述第二获取请求后,会获取第三播放列表所包含的第三待播放对象,并将第三待播放对象反馈给上述请求端,然后请求端在当前播放对象的显示界面可以展示各第三待播放对象的第三标识信息,以供用户查看第三播放列表包含的待播放对象,并实现例如切集、播放上一个、播放下一个等多媒体对象的播放控制。
可选的,本发明实施例所提供的多媒体对象的连播控制方法中,所述展示属性还包括连播展示,所述连播展示为在播放所述待播放节目列表或所述子节目列表中的最后一个对象时,将下一个待播放节目列表或下一个子节目列表中包含的待播放对象进行展示;
所述方法还包括:
步骤903,接收所述请求端发送的第三获取请求,并根据所述第三获取请求,向所述请求端反馈第四待播放对象,以供所述请求端在所述当前播放对象的显示界面中展示所述第四待播放对象的第四标识信息,并在接收针对所述第四标识信息的第二播放指令的情况下,播放所述第四标识信息对应的待播放对象;
其中,所述第三获取请求用于获取第四播放列表中包含的所述第四待播放对象,所述第四播放列表为所述请求端在获取数据结构树后,并确定当前播放对象所处的当前播放节目列表或当前播放子节目列表,且在所述当前播放对象处于播放状态,且所述当前播放对象为所述当前播放节目列表或所述当前播放子节目列表中的最后一个对象的情况下,从所述数据结构树中确定第一个展示属性为所述连播展示的播放列表。
本发明实施例中,在当前播放对象处于播放状态,且当前播放对象为当前播放节目列表或当前播放子节目列表中的最后一个对象的情况下,请求端可以遍历数据结构树,从数据结构树中筛选出第一个展示属性为连播展示的第四播放列表,然后向提供端发送第三获取请求的方式,触发获取上述连播展示的第四播放列表所包含的第四待播放对象;因而提供端在接收到上述第三获取请求后,会获取第四播放列表所包含的第四待播放对象,并将第四待播放对象反馈给上述请求端,然后请求端在当前播放对象的显示界面可以展示各第四待播放对象的第四标识信息,以供用户查看第四播放列表包含的待播放对象,并实现例如切集、播放上一个、播放下一个等多媒体对象的播放控制。
在上述实施例的基础上,本发明实施例还提供了一种视频的连播控制装置。
参照图10,示出了本发明实施例所述的一种多媒体对象的连播控制装置300的结构框图,具体可以包括如下模块:
第一获取模块301,用于获取多个待播放节目列表,以及所述待播放节目列表中包含的待播放对象;
生成模块302,用于根据所述待播放节目列表和所述待播放对象,得到数据结构树,所述数据结构树按照所述待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到;
第二获取模块303,用于根据所述当前播放对象和所述数据结构树,获取目标对象信息,所述目标对象信息为下一个播放对象的信息。
可选的,所述生成模块302,包括:
第一确定子模块,用于确定所述多个待播放节目列表中的一个或多个待播放节目列表包含的多级子节目列表,以及所述子节目列表包含的多个待播放对象;
构建子模块,用于根据所述待播放节目列表的播放次序、所述待播放节目列表包含的多级子节目列表,以及所述子节目列表包含的多个待播放对象,构建所述数据结构树。
可选的,所述第二获取模块303,包括:
第二确定子模块,用于根据所述当前播放对象在所述数据结构树中的位置,按照深度优先的顺序遍历所述数据结构树,在所述数据结构树包含的待播放对象中,将与所述当前播放对象相邻的下一个对象确定为所述目标对象。
可选的,所述数据结构树中的节点具有节点坐标,所述节点坐标包含所述节点对应的祖先节点相对于父节点的位置,以及所述节点相对于父节点的位置;
所述第二确定子模块,包括:
第一确定单元,用于确定所述当前播放对象对应的节点坐标;
第二确定单元,用于根据所述当前播放对象对应的节点坐标,以及所述数据结构树中待播放对象对应的节点坐标,按照深度优先的顺序,确定所述目标视频。
可选的,所述第二获取模块303还包括:
第三确定子模块,用于在根据所述待播放节目列表和所述待播放对象,得到数据结构树之后,响应于展示指令,确定所述展示指令对应的第一待播放对象;
第一获取子模块,用于基于所述数据结构树获取所述第一待播放对象所属的第一播放列表;
配置子模块,用于配置所述第一播放列表的其余待播放对象的信息。
可选的,所述第二获取模块303还包括:
第二获取子模块,用于在响应于展示指令,确定所述展示指令对应的第一待播放对象及其所属的第一播放列表之后,在所述第一待播放对象为所述第一播放列表的末位对象时,基于所述数据结构树获取逻辑上与所述第一播放列表邻接的第二播放列表;
第三获取子模块,用于获取所述第二播放列表中包含的第二待播放对象的信息。
综上所述,本发明实施例提供的一种多媒体对象的连播控制装置,可以预先根据获取到的待播放节目列表和待播放节目列表中包含的待播放对象,得到表征待播放节目列表和所述待播放对象的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系的数据结构树,使得在后续可以直接根据数据结构树通过连播控制逻辑实现连播控制,无需在进行连播控制逻辑的同时,进行用于确定目标对象的业务逻辑判断,从而将业务逻辑判断过程从连播控制过程中剥离,避免对连播控制过程产生影响,从而提高多节目列表情况下连播业务的效率。
参照图11,示出了本发明实施例所述的一种多媒体对象的连播控制装置400的结构框图,应用于连播内容的请求端,具体可以包括如下模块:
第三获取模块401,用于获取数据结构树;其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到;
第一确定模块402,用于确定当前播放对象在所述数据结构树中的位置;
第二确定模块403,用于根据所述当前播放对象在所述数据结构树中的位置和所述播放次序,在所述数据结构树中确定位于所述当前播放对象之后播放的目标对象的信息;
第一请求模块404,用于向连播内容的提供端发送第一获取请求,以获取所述目标对象;其中,所述第一获取请求包括所述目标对象的信息;
第一播放模块405,用于接收所述提供端针对所述第一获取请求反馈的所述目标对象,并在所述当前播放对象播放结束的情况下,播放所述目标对象。
可选的,所述待播放节目列表和所述子节目列表具有展示属性,所述展示属性包括预先展示,所述预先展示为在播放对象时,将所述数据结构树中与所述对象关联的全部待播放节目列表或子节目列表中包含的待播放对象进行展示;
所述第二确定模块403包括:
第四获取子模块,用于在获取数据结构树的步骤之后,在所述当前播放对象处于播放状态的情况下,遍历所述数据结构树,从所述数据结构树中筛选出所述展示属性为所述预先展示的全部待播放节目列表或子节目列表,生成第三播放列表;
第五获取子模块,用于向连播内容的提供端发送第二获取请求,以获取所述第三播放列表中包含的第三待播放对象;
第一展示子模块,用于接收所述提供端针对所述第二获取请求反馈的所述第三待播放对象,并在所述当前播放对象的显示界面中展示所述第三待播放对象的第三标识信息;
第一播放子模块,用于在接收针对所述第三标识信息的第一播放指令的情况下,播放所述第三标识信息对应的待播放对象。
可选的,所述的第五获取子模块包括:
第一生成单元,用于为所述第三播放列表中的每一个待播放节目列表和子节目列表生成一个任务节点,所述任务节点用于获取所述待播放节目列表和子节目列表包含的待播放对象;
第二生成单元,用于根据所述第三播放列表中的待播放节目列表和子节目列表的播放次序,将所述第三播放列表中的每一个待播放节目列表和子节目列表对应的任务节点依次设置到序列中生成任务链;
第一获取单元,用于串行执行所述任务链中包含的每个任务节点,向连播内容的提供端发送第二获取请求,以获取所述第三待播放对象。
可选的,所述展示属性还包括连播展示,所述连播展示为在播放所述待播放节目列表或所述子节目列表中的最后一个对象时,将下一个待播放节目列表或下一个子节目列表中包含的待播放对象进行展示;
所述第二确定模块403还包括:
第四确定子模块,用于在获取数据结构树的步骤之后,确定所述当前播放对象所处的当前播放节目列表或当前播放子节目列表;
第五确定子模块,用于在所述当前播放对象处于播放状态,且所述当前播放对象为所述当前播放节目列表或所述当前播放子节目列表中的最后一个对象的情况下,从所述数据结构树中确定第一个展示属性为所述连播展示的第四播放列表;
第六获取子模块,用于向连播内容的提供端发送第三获取请求,以获取所述第四播放列表中包含的第四待播放对象;
第二展示子模块,用于接收所述提供端针对所述第三获取请求反馈的所述第四待播放对象,并在所述当前播放对象的显示界面中展示所述第四待播放对象的第四标识信息;
第二播放子模块,用于在接收针对所述第四标识信息的第二播放指令的情况下,播放所述第四标识信息对应的待播放对象。
可选的,所述第六获取子模块,包括:
第三生成单元,用于为所述第二目标列表生成一个任务节点,并将所述第二目标列表对应的任务节点设置在所述任务链的最后;
第二获取单元,用于执行所述任务链中所述第四播放列表对应的任务节点,向连播内容的提供端发送第三获取请求,以获取所述第四待播放对象。
综上所述,本申请提供的一种多媒体对象的连播控制装置,应用于连播内容的请求端,获取预先按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到的数据结构树,在后续连播内容的请求端可以直接根据数据结构树确定目标对象,并通过在向提供端发送第一获取请求后由提供端反馈给请求端,从而通过连播控制逻辑实现连播控制,无需在进行连播控制逻辑的同时,进行用于确定目标对象的业务逻辑判断,从而将业务逻辑判断过程从连播控制过程中剥离,避免对连播控制过程产生影响,从而提高多节目列表情况下连播业务的效率。
参照图12,示出了本发明实施例所述的一种多媒体对象的连播控制装置500的结构框图,应用于连播内容的提供端,具体可以包括如下模块:
第一反馈模块501,用于接收连播内容的请求端发送的第一获取请求,并根据所述第一获取请求,向所述请求端发送所述第一获取请求对应的目标对象;
其中,所述第一获取请求包括所述目标对象的信息,所述第一获取请求由所述请求端在获取数据结构树后,根据当前播放对象在所述数据结构树中的位置和播放次序,在所述数据结构树中确定位于所述当前播放对象之后播放的目标对象的信息后,向所述提供端发送;
其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到。
可选的,所述待播放节目列表和所述子节目列表具有展示属性,所述展示属性包括预先展示,所述预先展示为在播放对象时,将所述数据结构树中与所述对象关联的全部待播放节目列表或子节目列表中包含的待播放对象进行展示;
所述装置还包括:
第二反馈模块502,用于接收所述请求端发送的第二获取请求,并根据所述第二获取请求,向所述请求端反馈第三待播放对象,以供所述请求端在所述当前播放对象的显示界面中展示所述第三待播放对象的第三标识信息,并在接收针对所述第三标识信息的第一播放指令的情况下,播放所述第二标识信息对应的待播放对象;
其中,所述第二获取请求用于获取第三播放列表中包含的所述第三待播放对象,所述第三播放列表由所述请求端在获取数据结构树后,并在所述当前播放对象处于播放状态的情况下,遍历所述数据结构树,从所述数据结构树中筛选出所述展示属性为所述预先展示的全部待播放节目列表或子节目列表生成。
可选的,所述展示属性还包括连播展示,所述连播展示为在播放所述待播放节目列表或所述子节目列表中的最后一个对象时,将下一个待播放节目列表或下一个子节目列表中包含的待播放对象进行展示;
所述装置还包括:
第三反馈模块503,用于接收所述请求端发送的第三获取请求,并根据所述第三获取请求,向所述请求端反馈第四待播放对象,以供所述请求端在所述当前播放对象的显示界面中展示所述第四待播放对象的第四标识信息,并在接收针对所述第四标识信息的第二播放指令的情况下,播放所述第四标识信息对应的待播放对象;
其中,所述第三获取请求用于获取第四播放列表中包含的所述第四待播放对象,所述第四播放列表为所述请求端在获取数据结构树后,并确定当前播放对象所处的当前播放节目列表或当前播放子节目列表,且在所述当前播放对象处于播放状态,且所述当前播放对象为所述当前播放节目列表或所述当前播放子节目列表中的最后一个对象的情况下,从所述数据结构树中确定第一个展示属性为所述连播展示的播放列表。
综上所述,本发明实施例提供的一种多媒体对象的连播控制装置,应用于连播内容的提供端,获取预先按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到的数据结构树,在后续连播内容的请求端可以直接根据数据结构树确定目标对象,并通过在向提供端发送第一获取请求后由提供端反馈给请求端,从而通过连播控制逻辑实现连播控制,无需在进行连播控制逻辑的同时,进行用于确定目标对象的业务逻辑判断,从而将业务逻辑判断过程从连播控制过程中剥离,避免对连播控制过程产生影响,从而提高多节目列表情况下连播业务的效率。
本发明实施例还提供了一种多媒体对象的连播控制***,包括连播内容的请求端及提供端;
所述请求端获取数据结构树;其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到;
所述请求端确定当前播放对象在所述数据结构树中的位置;
所述请求端根据所述当前播放对象在所述数据结构树中的位置和所述播放次序,在所述数据结构树中确定位于所述当前播放对象之后播放的目标对象的信息;
所述请求端向所述提供端发送第一获取请求,以获取所述目标对象;其中,所述第一获取请求包括所述目标对象的信息;
所述提供端接收所述请求端发送的第一获取请求,并根据所述第一获取请求,向所述请求端发送所述第一获取请求对应的目标对象;
所述请求端接收所述目标对象,并在所述当前播放对象播放结束的情况下,播放所述目标对象。
本发明实施例还提供了一种电子设备,如图13所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互之间的通信。
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
一种多媒体对象的连播控制方法,所述方法包括:
获取多个待播放节目列表,以及所述待播放节目列表中包含的待播放对象;
根据所述待播放节目列表和所述待播放对象,得到数据结构树,所述数据结构树按照所述待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到;
根据所述当前播放对象及所述数据结构树,确定目标对象信息,所述目标对象信息为下一个播放对象的信息。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的多媒体对象的连播控制方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的多媒体对象的连播控制方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置及***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (19)
1.一种多媒体对象的连播控制方法,其特征在于,所述方法包括:
获取多个待播放节目列表,以及所述待播放节目列表中包含的待播放对象;
根据所述待播放节目列表和所述待播放对象,得到数据结构树,所述数据结构树按照所述待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到;
根据当前播放对象在所述数据结构树中的位置,按照深度优先的顺序遍历所述数据结构树,在所述数据结构树包含的待播放对象信息中,将与所述当前播放对象相邻的下一个对象的信息确定为目标对象信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待播放节目列表和所述待播放对象,得到数据结构树的步骤,包括:
确定所述多个待播放节目列表中的一个或多个待播放节目列表包含的多级子节目列表,以及所述子节目列表包含的多个待播放对象;
根据所述待播放节目列表的播放次序、所述待播放节目列表包含的多级子节目列表,以及所述子节目列表包含的多个待播放对象,构建所述数据结构树。
3.根据权利要求1所述的方法,其特征在于,所述数据结构树中的节点具有节点坐标,所述节点坐标包含所述节点对应的祖先节点相对于父节点的位置,以及所述节点相对于父节点的位置;
所述根据当前播放对象在所述数据结构树中的位置,按照深度优先的顺序遍历所述数据结构树,在所述数据结构树包含的待播放对象中,将与所述当前播放对象相邻的下一个对象的信息确定为所述目标对象信息的步骤,包括:
确定所述当前播放对象对应的节点坐标;
根据所述当前播放对象对应的节点坐标,以及所述数据结构树中待播放对象对应的节点坐标,按照深度优先的顺序,确定所述目标对象信息。
4.根据权利要求2所述的方法,其特征在于,在根据所述待播放节目列表和所述待播放对象,得到数据结构树的步骤之后,所述方法还包括:
响应于展示指令,确定所述展示指令对应的第一待播放对象;
基于所述数据结构树获取所述第一待播放对象所属的第一播放列表;
配置所述第一播放列表的其余待播放对象的信息。
5.根据权利要求4所述的方法,其特征在于,在响应于展示指令,确定所述展示指令对应的第一待播放对象及其所属的第一播放列表的步骤之后,所述方法还包括:
在所述第一待播放对象为所述第一播放列表的末位对象时,基于所述数据结构树获取逻辑上与所述第一播放列表邻接的第二播放列表;
获取所述第二播放列表中包含的第二待播放对象的信息。
6.一种多媒体对象的连播控制方法,其特征在于,应用于连播内容的请求端,所述方法包括:
获取数据结构树;其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和待播放对象的从属关系得到,所述待播放节目列表中包含的所述待播放对象;
确定当前播放对象在所述数据结构树中的位置;
根据当前播放对象在所述数据结构树中的位置,按照深度优先的顺序遍历所述数据结构树,在所述数据结构树包含的待播放对象信息中,将与所述当前播放对象相邻的下一个对象的信息确定为目标对象的信息;
向连播内容的提供端发送第一获取请求,以获取所述目标对象;其中,所述第一获取请求包括所述目标对象的信息;
接收所述提供端针对所述第一获取请求反馈的所述目标对象,并在所述当前播放对象播放结束的情况下,播放所述目标对象。
7.根据权利要求6所述的方法,其特征在于,所述待播放节目列表和子节目列表具有展示属性,所述子节目列表是由所述多个待播放节目列表中的一个或多个待播放节目列表确定的,所述展示属性包括预先展示,所述预先展示为在播放对象时,将所述数据结构树中与所述对象关联的全部待播放节目列表或子节目列表中包含的待播放对象进行展示;
在获取数据结构树的步骤之后,所述方法还包括:
在所述当前播放对象处于播放状态的情况下,遍历所述数据结构树,从所述数据结构树中筛选出所述展示属性为所述预先展示的全部待播放节目列表或子节目列表,生成第三播放列表;
向连播内容的提供端发送第二获取请求,以获取所述第三播放列表中包含的第三待播放对象;
接收所述提供端针对所述第二获取请求反馈的所述第三待播放对象,并在所述当前播放对象的显示界面中展示所述第三待播放对象的第三标识信息;
在接收针对所述第三标识信息的第一播放指令的情况下,播放所述第三标识信息对应的待播放对象。
8.根据权利要求7所述的方法,其特征在于,所述向连播内容的提供端发送第二获取请求,以获取所述第三播放列表中包含的第三待播放对象的步骤,包括:
为所述第三播放列表中的每一个待播放节目列表和子节目列表生成一个任务节点,所述任务节点用于获取所述待播放节目列表和子节目列表包含的待播放对象;
根据所述第三播放列表中的待播放节目列表和子节目列表的播放次序,将所述第三播放列表中的每一个待播放节目列表和子节目列表对应的任务节点依次设置到序列中生成任务链;
串行执行所述任务链中包含的每个任务节点,向连播内容的提供端发送第二获取请求,以获取所述第三待播放对象。
9.根据权利要求8所述的方法,其特征在于,所述展示属性还包括连播展示,所述连播展示为在播放所述待播放节目列表或所述子节目列表中的最后一个对象时,将下一个待播放节目列表或下一个子节目列表中包含的待播放对象进行展示;
在获取数据结构树的步骤之后,所述方法还包括:
确定所述当前播放对象所处的当前播放节目列表或当前播放子节目列表;
在所述当前播放对象处于播放状态,且所述当前播放对象为所述当前播放节目列表或所述当前播放子节目列表中的最后一个对象的情况下,从所述数据结构树中确定第一个展示属性为所述连播展示的第四播放列表;
向连播内容的提供端发送第三获取请求,以获取所述第四播放列表中包含的第四待播放对象;
接收所述提供端针对所述第三获取请求反馈的所述第四待播放对象,并在所述当前播放对象的显示界面中展示所述第四待播放对象的第四标识信息;
在接收针对所述第四标识信息的第二播放指令的情况下,播放所述第四标识信息对应的待播放对象。
10.根据权利要求9所述的方法,其特征在于,所述向连播内容的提供端发送第三获取请求,以获取所述第四播放列表中包含的第四待播放对象的步骤,包括:
为所述第四播放列表生成一个任务节点,并将所述第四播放列表对应的任务节点设置在所述任务链的最后;
执行所述任务链中所述第四播放列表对应的任务节点,向连播内容的提供端发送第三获取请求,以获取所述第四待播放对象。
11.一种多媒体对象的连播控制方法,其特征在于,应用于连播内容的提供端,所述方法包括:
接收连播内容的请求端发送的第一获取请求,并根据所述第一获取请求,向所述请求端发送所述第一获取请求对应的目标对象;
其中,所述第一获取请求包括所述目标对象的信息,所述第一获取请求由所述请求端在获取数据结构树后,根据当前播放对象在所述数据结构树中的位置,按照深度优先的顺序遍历所述数据结构树,在所述数据结构树包含的待播放对象信息中,将与所述当前播放对象相邻的下一个对象的信息确定为目标对象的信息后,向所述提供端发送;
其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到。
12.根据权利要求11所述的方法,其特征在于,所述待播放节目列表和子节目列表具有展示属性,所述子节目列表是由所述多个待播放节目列表中的一个或多个待播放节目列表确定的,所述展示属性包括预先展示,所述预先展示为在播放对象时,将所述数据结构树中与所述对象关联的全部待播放节目列表或子节目列表中包含的待播放对象进行展示;
所述方法还包括:
接收所述请求端发送的第二获取请求,并根据所述第二获取请求,向所述请求端反馈第三待播放对象,以供所述请求端在所述当前播放对象的显示界面中展示所述第三待播放对象的第三标识信息,并在接收针对所述第三标识信息的第一播放指令的情况下,播放所述第三标识信息对应的待播放对象;
其中,所述第二获取请求用于获取第三播放列表中包含的所述第三待播放对象,所述第三播放列表由所述请求端在获取数据结构树后,并在所述当前播放对象处于播放状态的情况下,遍历所述数据结构树,从所述数据结构树中筛选出所述展示属性为所述预先展示的全部待播放节目列表或子节目列表生成。
13.根据权利要求12所述的方法,其特征在于,所述展示属性还包括连播展示,所述连播展示为在播放所述待播放节目列表或所述子节目列表中的最后一个对象时,将下一个待播放节目列表或下一个子节目列表中包含的待播放对象进行展示;
所述方法还包括:
接收所述请求端发送的第三获取请求,并根据所述第三获取请求,向所述请求端反馈第四待播放对象,以供所述请求端在所述当前播放对象的显示界面中展示所述第四待播放对象的第四标识信息,并在接收针对所述第四标识信息的第二播放指令的情况下,播放所述第四标识信息对应的待播放对象;
其中,所述第三获取请求用于获取第四播放列表中包含的所述第四待播放对象,所述第四播放列表为所述请求端在获取数据结构树后,并确定当前播放对象所处的当前播放节目列表或当前播放子节目列表,且在所述当前播放对象处于播放状态,且所述当前播放对象为所述当前播放节目列表或所述当前播放子节目列表中的最后一个对象的情况下,从所述数据结构树中确定第一个展示属性为所述连播展示的播放列表。
14.一种多媒体对象的连播控制装置,其特征在于,所述装置包括:
第一获取模块,用于获取多个待播放节目列表,以及所述待播放节目列表中包含的待播放对象;
生成模块,用于根据所述待播放节目列表和所述待播放对象,得到数据结构树,所述数据结构树按照所述待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到;
第二获取模块,用于根据当前播放对象在所述数据结构树中的位置,按照深度优先的顺序遍历所述数据结构树,在所述数据结构树包含的待播放对象信息中,将与所述当前播放对象相邻的下一个对象的信息确定为目标对象信息。
15.一种多媒体对象的连播控制装置,其特征在于,应用于连播内容的请求端,所述装置包括:
第三获取模块,用于获取数据结构树;其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和待播放对象的从属关系得到,所述待播放节目列表中包含的所述待播放对象;
第一确定模块,用于确定当前播放对象在所述数据结构树中的位置;
第二确定模块,用于根据当前播放对象在所述数据结构树中的位置,按照深度优先的顺序遍历所述数据结构树,在所述数据结构树包含的待播放对象信息中,将与所述当前播放对象相邻的下一个对象的信息确定为目标对象的信息;
第一请求模块,用于向连播内容的提供端发送第一获取请求,以获取所述目标对象;其中,所述第一获取请求包括所述目标对象的信息;
第一播放模块,用于接收所述提供端针对所述第一获取请求反馈的所述目标对象,并在所述当前播放对象播放结束的情况下,播放所述目标对象。
16.一种多媒体对象的连播控制装置,其特征在于,应用于连播内容的提供端,所述装置包括:
第一反馈模块,用于接收连播内容的请求端发送的第一获取请求,并根据所述第一获取请求,向所述请求端发送所述第一获取请求对应的目标对象;
其中,所述第一获取请求包括所述目标对象的信息,所述第一获取请求由所述请求端在获取数据结构树后,根据当前播放对象在所述数据结构树中的位置,按照深度优先的顺序遍历所述数据结构树,在所述数据结构树包含的待播放对象信息中,将与所述当前播放对象相邻的下一个对象的信息确定为目标对象的信息后,向所述提供端发送;
其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和所述待播放对象的从属关系得到。
17.一种多媒体对象的连播控制***,其特征在于,包括连播内容的请求端及提供端;
所述请求端获取数据结构树;其中,所述数据结构树按照多个待播放节目列表的播放次序,以及所述待播放节目列表和待播放对象的从属关系得到,所述待播放节目列表中包含的所述待播放对象;
所述请求端确定当前播放对象在所述数据结构树中的位置;
所述请求端根据当前播放对象在所述数据结构树中的位置,按照深度优先的顺序遍历所述数据结构树,在所述数据结构树包含的待播放对象信息中,将与所述当前播放对象相邻的下一个对象的信息确定为目标对象信息;
所述请求端向所述提供端发送第一获取请求,以获取所述目标对象;其中,所述第一获取请求包括所述目标对象的信息;
所述提供端接收所述请求端发送的第一获取请求,并根据所述第一获取请求,向所述请求端发送所述第一获取请求对应的目标对象;
所述请求端接收所述目标对象,并在所述当前播放对象播放结束的情况下,播放所述目标对象。
18.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1~13中任一所述的方法步骤。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~13中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210392472.0A CN114900740B (zh) | 2022-04-14 | 2022-04-14 | 一种多媒体对象的连播控制方法、***及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210392472.0A CN114900740B (zh) | 2022-04-14 | 2022-04-14 | 一种多媒体对象的连播控制方法、***及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114900740A CN114900740A (zh) | 2022-08-12 |
CN114900740B true CN114900740B (zh) | 2024-02-23 |
Family
ID=82718040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210392472.0A Active CN114900740B (zh) | 2022-04-14 | 2022-04-14 | 一种多媒体对象的连播控制方法、***及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114900740B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267330A (zh) * | 2008-04-29 | 2008-09-17 | 深圳市迅雷网络技术有限公司 | 播放多媒体文件的方法及装置 |
CN104105009A (zh) * | 2014-08-05 | 2014-10-15 | 成都瑞博慧窗信息技术有限公司 | 一种数字多媒体播控优化方法 |
CN106254908A (zh) * | 2016-09-18 | 2016-12-21 | 合网络技术(北京)有限公司 | 多媒体资源播放方法和装置 |
CN108521589A (zh) * | 2018-04-25 | 2018-09-11 | 北京比特智学科技有限公司 | 视频处理方法和装置 |
WO2019076356A1 (zh) * | 2017-10-20 | 2019-04-25 | 腾讯科技(深圳)有限公司 | 基于虚拟现实场景的视频处理方法、服务器、虚拟现实设备和*** |
WO2021012665A1 (zh) * | 2019-07-25 | 2021-01-28 | 网宿科技股份有限公司 | 一种交互式音视频播放的方法及装置 |
CN112328814A (zh) * | 2021-01-05 | 2021-02-05 | 北京达佳互联信息技术有限公司 | 多媒体资源推荐方法、装置及存储介质 |
CN113596555A (zh) * | 2021-06-21 | 2021-11-02 | 维沃移动通信(杭州)有限公司 | 视频播放方法、装置及电子设备 |
CN114189715A (zh) * | 2021-12-07 | 2022-03-15 | 北京奇艺世纪科技有限公司 | 下载地址切换方法及相关设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150135214A1 (en) * | 2002-05-10 | 2015-05-14 | Convergent Media Solutions Llc | Method and apparatus for browsing using alternative linkbases |
JP4581934B2 (ja) * | 2005-09-14 | 2010-11-17 | ソニー株式会社 | 再生装置、再生方法および再生プログラム |
KR101474735B1 (ko) * | 2008-06-30 | 2014-12-30 | 삼성전자주식회사 | 방송수신장치 및 그의 구동방법 |
US20170171278A1 (en) * | 2015-12-14 | 2017-06-15 | Le Holdings (Beijing) Co., Ltd. | Method and electronic device for continuously playing video |
CN107943877B (zh) * | 2017-11-14 | 2022-02-18 | 百度在线网络技术(北京)有限公司 | 待播放多媒体内容的生成方法和装置 |
-
2022
- 2022-04-14 CN CN202210392472.0A patent/CN114900740B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267330A (zh) * | 2008-04-29 | 2008-09-17 | 深圳市迅雷网络技术有限公司 | 播放多媒体文件的方法及装置 |
CN104105009A (zh) * | 2014-08-05 | 2014-10-15 | 成都瑞博慧窗信息技术有限公司 | 一种数字多媒体播控优化方法 |
CN106254908A (zh) * | 2016-09-18 | 2016-12-21 | 合网络技术(北京)有限公司 | 多媒体资源播放方法和装置 |
WO2019076356A1 (zh) * | 2017-10-20 | 2019-04-25 | 腾讯科技(深圳)有限公司 | 基于虚拟现实场景的视频处理方法、服务器、虚拟现实设备和*** |
CN108521589A (zh) * | 2018-04-25 | 2018-09-11 | 北京比特智学科技有限公司 | 视频处理方法和装置 |
WO2021012665A1 (zh) * | 2019-07-25 | 2021-01-28 | 网宿科技股份有限公司 | 一种交互式音视频播放的方法及装置 |
CN112328814A (zh) * | 2021-01-05 | 2021-02-05 | 北京达佳互联信息技术有限公司 | 多媒体资源推荐方法、装置及存储介质 |
CN113596555A (zh) * | 2021-06-21 | 2021-11-02 | 维沃移动通信(杭州)有限公司 | 视频播放方法、装置及电子设备 |
CN114189715A (zh) * | 2021-12-07 | 2022-03-15 | 北京奇艺世纪科技有限公司 | 下载地址切换方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114900740A (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10448082B2 (en) | Information exchanging method and device, audio terminal and computer-readable storage medium | |
CN109815261B (zh) | 全局搜索功能实现及数据实时同步方法、装置及电子设备 | |
US20210279270A1 (en) | Searching and displaying multimedia search results | |
US20150193448A1 (en) | Server device, method for providing service thereof, display device, and display method thereof | |
EP2914014A1 (en) | Information processing apparatus, and information processing method | |
US20070061842A1 (en) | System and method for providing a unified programming guide | |
US20120198350A1 (en) | Smart-Remote Protocol | |
CN111309293B (zh) | 一种界面框架构建方法、装置、电子设备及存储介质 | |
JP2011120252A (ja) | 双方向テレビジョン用の個人チャンネルを効果的に実施するシステム及びその実施方法 | |
US8332893B2 (en) | Hybrid channel map | |
KR20090059923A (ko) | 검색어와 관련된 컨텐츠를 제공하기 위한 멀티미디어제공방법 및 이를 적용한 멀티미디어 기기 | |
EP1993288A1 (en) | A system and method for generating electronic program guides | |
CN113490039B (zh) | 一种投屏联播方法、装置、***、电子设备及存储介质 | |
CN103686385A (zh) | 用于智能电视的播放控制方法及装置 | |
WO2022127166A1 (zh) | 视频处理方法及电子设备 | |
US20160203001A1 (en) | String Customization | |
CN114900740B (zh) | 一种多媒体对象的连播控制方法、***及装置 | |
US20100315331A1 (en) | Display device and display control method thereof | |
US20150293914A1 (en) | Multimedia information processing method, multimedia apparatus, and multimedia network system | |
CN111356006B (zh) | 视频播放方法、装置、服务器及存储介质 | |
CN114827675A (zh) | 应用程序的视频数据处理方法及装置 | |
CN113064590B (zh) | 互动视频中互动组件的处理方法及装置 | |
CN111400327B (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
CN114217715A (zh) | 富媒体播放页面控制方法、装置、电子设备及存储介质 | |
CN105100882A (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 |