播放器切换播放方法及装置与流程

文档序号:11157705阅读:846来源:国知局
播放器切换播放方法及装置与制造工艺

本发明主要涉及播放器播放技术领域,具体地说,涉及一种播放器切换播放方法及装置。



背景技术:

目前市场上诸如电视一类的智能终端,在播放点播的视频过程中,设置有插入广告播放的功能。而市场上主流智能终端中设置的是单解码器(Decoder),同一时间只能对一种资源进行解码播放。因此为了实现在当前播放的视频中插播广告的功能,需要先将当前播放视频的播放器停掉,再启动新的播放器播放广告。广告播放完成后,再重新启动播放视频的播放器对视频进行播放,并通过seek跳转到广告播放之前的播放点。但是这样的切换模式耗费较长的时间,用户等待时间长,体验性差。



技术实现要素:

本发明的主要目的是提供一种播放器切换播放方法及装置,旨在解决现有技术播放器切换播放耗费时间长的问题。

为实现上述目的,本发明提供一种播放器切换播放方法,所述播放器切换播放方法包括以下步骤:

当接收到播放指令时,获取第一播放数据作为当前数据进行播放,同时获取并缓存第二播放数据;

当接收到切换播放指令时,将播放的当前数据由第一播放数据切换为缓存的第二播放数据,同时记录第一播放数据切换播放时的切换时间点;

当接收到切回播放指令时,以切换时间点继续播放第一播放数据。

优选地,所述播放器包括第一缓存器和第二缓存器,

所述当接收到播放指令时,获取第一播放数据作为当前数据进行播放,同时获取并缓存第二播放数据的步骤包括:

当接收到播放指令时,获取第一播放数据和第二播放数据;

将第一播放数据作为当前数据进行播放,并将第一播放数据缓存至第一缓存器,同时将获取的第二播放数据缓存至第二缓存器。

优选地,所述当接收到切换播放指令时,将播放的当前数据由第一播放数据切换为缓存的第二播放数据,同时记录第一播放数据切换播放时的切换时间点的步骤包括:

当接收到切换播放指令时,获取第二缓存器缓存的第二播放数据,并将播放的当前数据由第一播放数据切换为第二播放数据;

记录第一播放数据切换播放时的切换时间点,并将第一播放数据在切换时间点之前已播放数据从第一缓存器中删除。

优选地,所述当接收到切回播放指令时,以切换时间点继续播放第一播放数据的步骤包括:

当接收到切回播放指令时,获取第一播放数据中删除所述已播放数据的剩余数据,并播放所述剩余数据。

优选地,所述播放所述剩余数据的步骤之后包括:

判断所述剩余数据是否播放完成,若剩余数据播放完成,则获取播放器解复用后的数据作为新的第一播放数据以进行播放。

此外,为实现上述目的,本发明还提出一种播放器切换播放装置,所述播放器切换播放装置包括:

获取模块,用于当接收到播放指令时,获取第一播放数据作为当前数据进行播放,同时获取并缓存第二播放数据;

切换模块,用于当接收到切换播放指令时,将播放的当前数据由第一播放数据切换为缓存的第二播放数据,同时记录第一播放数据切换播放时的切换时间点;

控制模块,用于当接收到切回播放指令时,以切换时间点继续播放第一播放数据。

优选地,所述播放器包括第一缓存器和第二缓存器,所述获取模块包括:

第一获取单元,用于当接收到播放指令时,获取第一播放数据和第二播放数据;

第一控制单元,用于将第一播放数据作为当前数据进行播放,并将第一播放数据缓存至第一缓存器,同时将获取的第二播放数据缓存至第二缓存器。

优选地,所述切换模块包括:

第二获取单元,用于当接收到切换播放指令时,获取第二缓存器缓存的第二播放数据,并将播放的当前数据由第一播放数据切换为第二播放数据;

第二控制单元,用于记录第一播放数据切换播放时的切换时间点,并将第一播放数据在切换时间点之前已播放数据从第一缓存器中删除。

优选地,所述的控制模块还用于:

当接收到切回播放指令时,获取第一播放数据中删除所述已播放数据的剩余数据,并播放所述剩余数据。

优选地,所述的播放器切换播放装置还包括:

判断模块,用于判断所述剩余数据是否播放完成,若剩余数据播放完成,则获取播放器解复用后的数据作为新的第一播放数据以进行播放。

本发明提出的播放器切换播放方法,通过在播放第一播放数据的过程中,获取第二播放数据,并将获取的第二播放数据缓存;在接收到切换播放指令时,可直接播放缓存的第二播放数据,同时对第一播放数据切换播放时的切换时间点进行记录,从而在接收到切回播放指令时,可按照记录的切换时间点继续播放。本方案通过对第二播放数据的缓存以及对第一播放数据切换播放时的切换时间点记录,切换时可直接获取缓存的第二播放数据进行播放,并根据记录的切换时间点进行切回,不需要在接收到切换播放指令时先停用第一播放数据对应的播放器,启用第二播放数据对应的播放器进行切换,而在第二播放数据播放完成后接收到切回播放指令时,又再启用第一播放数据对应的播放器进行第一播放数据的播放。减少了第一播放数据和第二播放数据之间的切换时间,从而使用户等待时间缩短,提高了播放效率及用户体验性。

附图说明

图1是本发明的播放器切换播放方法第一实施例的流程示意图;

图2是本发明的播放器切换播放方法第二实施例的流程示意图;

图3是本发明的播放器切换播放装置第一实施例的功能模块示意图;

图4是本发明的播放器切换播放装置第二实施例的获取模块的细化功能模块示意图;

图5是本发明的播放器切换播放装置第三实施例的的切换模块的细化功能模块示意图;

图6是本发明的播放器切换播放装置第四实施例的的功能模块示意图;

图7是本发明的播放器切换播放方法及装置第一数据传输场景示意图;

图8是本发明的播放器切换播放方法及装置第二数据传输场景示意图;

图9是本发明的播放器切换播放方法及装置第三数据传输场景示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种播放器切换播放方法,请参照图1,在第一实施例中,该播放器切换播放方法包括:

步骤S10,当接收到播放指令时,获取第一播放数据作为当前数据进行播放,同时获取并缓存第二播放数据;

本发明的播放器切换方法,所述播放器可以只有一个也可以是两个或者两个以上。当播放器只有一个时,其设置为在一个普通播放器上的扩展,此播放器上至少设置有两个数据获取模块以及共用的数据处理模块;其中一个数据获取模块用于获取目标视频数据,另一个用于获取广告数据。当播放器为两个或两个以上时,对应每个播放器分别设置有数据获取模块和数据处理模块,一个用于播放用户需要观看的目标视频,另一个用于播放在目标视频中插入广告。第一播放数据可以为目标视频也可以为广告,当第一播放数据为目标视频时,则第二播放数据则为广告;相应地,当第一播放数据为广告时,则第二播放数据为目标视频。当接收到播放指令时,获取第一播放数据作为当前播放数据进行播放,同时获取第二播放数据,并将此获取的第二播放数据进行缓存。播放指令可以是打开播放器的启动指令,也可以是从暂停到播放的继续播放指令。

步骤S20,当接收到切换播放指令时,将播放的当前数据由第一播放数据切换为缓存的第二播放数据,同时记录第一播放数据切换播放时的切换时间点;

具体地,在接收到切换播放指令时,对当前正在播放的当前数据进行切换,将第一播放数据切换为第二播放数据,并记录第一播放数据切换播放时的切换时间点,以提供再次播放第一播放数据的对接依据。当第一播放数据为用户需要观看的目标视屏,第二播放数据为广告时,在获取目标视屏对应的第一播放数据进行播放的同时获取广告对应的第二播放数据进行缓存。播放目标视频对应的第一播放数据的过程中,如果接收到切换播放指令,则将当前播放的数据由目标视频对应的第一播放数据切换为广告对应的第二播放数据,同时记录目标视频对应的第一播放数据切换播放时的切换时间点。

步骤S30,当接收到切回播放指令时,以切换时间点继续播放第一播放数据。

进一步地,将播放的当前数据由第一播放数据切换为第二播放数据进行播放,即播放的当前数据为第二播放数据。在第二播放数据播放完成后,需要回到第一播放数据的播放,此第二播放数据播放完成的信号即可作为切回播放指令。或者在第二播放数据播放过程中,接收到切回播放指令,从而将播放的当前数据切回到第一播放数据,且从第一播放数据中记录的切换时间点进行播放,以实现数据的快速切换以及无缝对接。

为辅助理解,以一具体实施例加以说明,请参照图7,其中InputSource为原始数据的输入模块、Demux为解复用模块、DataManager为数据管理模块、Buffer为数据缓存模块、Decoder为解码模块、Display为显示模块。根据播放数据的来源不同,InputSource的功能不同,当播放数据来源于网络流数据时,InputSource对应网络下载模块;当播放数据来源于本地文件,则其负责从本地文件中读入数据。因InputSource获取的原始数据为包含音视频数据、字幕数据等的混合数据,所以此音视频数据、字幕数据需要通过Demux解复用将音视频数据分离。DataManager获取解复用后的音视频数据传输到Decoder解码的同时还传输到Buffer进行缓存,Decoder根据具体解复用出来的音视频数据分别进行音频解码和视频解码。

图7中的播放器包含了Player1和Play2两个数据获取模块,两个数据获取模块共享Decoder和Display资源,因此同一时间只有一个数据获取模块获取的数据工作。Player1的InputSource1获取原始数据发送到Demux1解复用,DataManager1获取解复用后的音视频数据传输到Decoder解码,同时还传输到Buffer1进行缓存,Decoder解码后的数据发送到Display进行输出播放。在Player1播放的同时Player2的InputSource2获取原始数据发送到Demux2解复用,DataManager2获取解复用后的数据,并传输到Buffer2进行缓存。当接收到播放切换指令时,Decoder获取Buffer2中缓存的数据进行解码并发送到Display输出播放,同时记录DataManage1中数据切换播放时的切换时间点。当接收到切回播放指令时,根据记录的切换时间点,Decoder从Buffer1中获取切换时间点的数据继续播放。

本实施例的播放器切换播放方法包括:当接收到播放指令时,获取第一播放数据作为当前数据进行播放,同时获取并缓存第二播放数据;当接收到切换播放指令时,将播放的当前数据由第一播放数据切换为缓存的第二播放数据,同时记录第一播放数据切换播放时的切换时间点;当接收到切回播放指令时,以切换时间点继续播放第一播放数据。本方案通过对第二播放数据的缓存以及对第一播放数据切换播放时的切换时间点记录,切换时可直接获取缓存的第二播放数据进行播放,并根据记录的切换时间点进行切回,不需要在接收到切换播放指令时先停用第一播放数据对应的播放器,启用第二播放数据对应的播放器进行切换,而在第二播放数据播放完成后接收到切回播放指令时,又再启用第一播放数据对应的播放器进行第一播放数据的播放。减少了第一播放数据和第二播放数据之间的切换时间,从而使用户等待时间缩短,提高了播放效率及用户体验性。

进一步地,所述播放器包括第一缓存器和第二缓存器,

步骤S10所述当接收到播放指令时,获取第一播放数据作为当前数据进行播放,同时获取并缓存第二播放数据的步骤包括:

步骤S11,当接收到播放指令时,获取第一播放数据和第二播放数据;

步骤S12,将第一播放数据作为当前数据进行播放,并将第一播放数据缓存至第一缓存器,同时将获取的第二播放数据缓存至第二缓存器。

可理解的地,经过解复用分离的音视频数据还需要通过解码以实现音视频数据的播放。实际应用时,解复用的速度受网速或者硬件配置的影响,可能跟不上解码播放的速度。为了平衡解复用和解码播放之间的速度匹配,在解复用和解码播放之间设置有缓存模块。解复用后的音视频数据传输到解码器解码的同时还传输到缓存模块进行缓存,以使在出现解复用短暂停顿时,获取缓存模块中的数据进行解码播放。本发明的方案中,为了匹配两个播放器,分别对每个播放器设置有第一缓存器和第二缓存器。在接收到播放指令时,分别获取第一播放数据和第二播放数据,在对第一播放数据进行解码播放的同时还将第一播放数据缓存至第一缓存器,对于第二播放数据则不进行解码播放直接缓存至第二缓存器,以在进行数据切换时,直接获取第二缓存器中的第二播放数据进行解码播放,避免重新获取解复用后的数据,减少数据切换所耗费的时间。而对第一播放数据的缓存一方面可以在第一播放数据出现解复用停顿时,从第一缓存器中获取数据进行解码播放;另一方面可以在切换播放数据后再次切回第一播放数据时,实现直接从第一缓存器中获取数据进行解码播放,避免重新获取解复用后的数据,减少数据切换所耗费的时间。因第一播放数据进行解码播放的同时还将其缓存至第一缓存器,解码播放包括解码和显示播放两个过程,缓存只是一个保存的过程,所以解码播放的第一播放数据滞后于缓存的第一播放数据,即解码播放的第一播放数据必定存在与第一缓存器中。第一缓存器相当于一个存储装置,容量有限,对于已经解码播放处理的第一播放数据,再缓存于第一缓存器中也没有意义。所以获取第一缓存器中已经解码播放的第一播放数据,进行删除处理,以释放第一缓存器的空间,提高数据处理速度。

具体地,请参照图8,在正常播放时,其步骤为:1)、通过DataManager获取经过Demux的音视频数据,2)、将获取的经过Demux的音视频数据发送到Decoder进行解码,3)、发送到Decoder进行解码的同时还发送到Buffer缓存,4)、获取Decoder解码过的数据,5)、根据Decoder解码过的数据,将Buffer中相应的数据删除。因此本方案的正常播放是通过DataManager获取Demux中的数据进行解码播放,并将获取的Demux数据发送到Buffer缓存,以实现顺畅播放;通过将Buffer中解码过的数据删除,释放Buffer空间,提高数据处理速度。而从正常播放状态转换为暂停状态,就是通过DataManager从Demux获取数据发送到Buffer缓存的过程。

进一步地,步骤S20所述当接收到切换播放指令时,将播放的当前数据由第一播放数据切换为缓存的第二播放数据,同时记录第一播放数据切换播放时的切换时间点的步骤包括:

步骤S21,当接收到切换播放指令时,获取第二缓存器缓存的第二播放数据,并将播放的当前数据由第一播放数据切换为第二播放数据;

步骤S22,记录第一播放数据切换播放时的切换时间点,并将第一播放数据在切换时间点之前已播放数据从第一缓存器中删除。

本实施方案中,可对当前播放的第一播放数据进行切换,当接收到切换指令时,从第二缓存器中获取缓存的第二播放数据,将此第二播放数据作为当前数据进行播放。同时记录第一播放数据切换播放时的的切换时间点,在此切换时间点之前的数据为已经解码播放的数据,此切换时间点之后的数据为尚未解码播放的数据。因第一播放数据播放的同时还缓存于第一缓存器中,对于已经解码播放的数据再进行缓存是没有意义的,所以需要对第一播放数据在切换时间点之前的数据进行删除处理,以释放第一缓存器的空间,提高数据处理速度。

进一步地,步骤S30所述当接收到切回播放指令时,以切换时间点继续播放第一播放数据的步骤包括:当接收到切回播放指令时,获取第一播放数据中删除所述已播放数据的剩余数据,并播放所述剩余数据。

进一步地,在第二播放数据播放完成或者在播放过程中,可进行切回播放操作,以切换到第一播放数据播放。当接收到切回播放指令时,根据记录的第一播放数据切换播放时的切换时间点,获取第一播放时间中删除已播放数据的尚未播放的剩余数据,进行播放。通过对第一播放数据切换播放时的切换时间点进行记录,实现回切时准确无误的回到切换前的播放时间点。

进一步地,请参照图2,在本发明播放器切换播放方法第一实施例的基础上,提出播放器切换播放方法的第二实施例,在第二实施例中,所述播放所述剩余数据的步骤之后包括:

步骤S40,判断所述剩余数据是否播放完成,若剩余数据播放完成,则获取播放器解复用后的数据作为新的第一播放数据以进行播放。

可理解地,第一缓存器中缓存的第一播放数据有限,在将第一缓存器中尚未播放的剩余数据作为播放的当前数据后,判断该剩余数据是否播放完成,当判断出该剩余数据播放完成时,则获取播放器解复用后的数据作为新的第一播放数据进行播放,同时将此获取的播放器解复用后的数据发送到第一缓存器中缓存,以确保数据的播放。在一具体实施例中,请参照图9,从缓存状态转换为正常播放状态或者从暂停状态转换为播放状态的步骤为:1)、通过DataManager从Buffer获取缓存的数据,2)、将从Buffer中获取的缓存数据传输到Decoder,3)、当判断出Buffer中的数据传输完成后,从Demux中获取数据,4)、将从Demux中获取的数据传输到Decoder,5)、将从Demux中获取的数据传输到Decoder的同时,还传输到Buffer进行缓存,6)、从Decoder中获取已解码过的数据,7)、根据Decoder解码过的数据,将Buffer中相应的数据删除。本方案在从缓存状态、暂停状态或者其他播放数据切换回原播放数据时,通过先获取Buffer中缓存的数据进行解码播放,以实现快速切换;在Buffer中缓存的数据解码播放完成后,获取Demux中的数据进行解码播放,并将获取的Demux数据发送到Buffer缓存,以实现顺畅播放;通过将Buffer中解码过的数据删除,释放Buffer空间,提高数据处理速度。

此外,本发明还提供一种播放器切换播放装置,参照图3,在第一实施例中,本发明提出的播放器切换播放装置包括:

获取模块10,用于当接收到播放指令时,获取第一播放数据作为当前数据进行播放,同时获取并缓存第二播放数据;

本发明的播放器切换方法,所述播放器可以只有一个也可以是两个或者两个以上。当播放器只有一个时,其设置为在一个普通播放器上的扩展,此播放器上至少设置有两个数据获取模块以及共用的数据处理模块;其中一个数据获取模块用于获取目标视频数据,另一个用于获取广告数据。当播放器为两个或两个以上时,对应每个播放器分别设置有数据获取模块和数据处理模块,一个用于播放用户需要观看的目标视频,另一个用于播放在目标视频中插入广告。第一播放数据可以为目标视频也可以为广告,当第一播放数据为目标视频时,则第二播放数据则为广告;相应地,当第一播放数据为广告时,则第二播放数据为目标视频。当接收到播放指令时,获取模块10获取第一播放数据作为当前播放数据进行播放,同时获取第二播放数据,并将此获取的第二播放数据进行缓存。播放指令可以是打开播放器的启动指令,也可以是从暂停到播放的继续播放指令。

切换模块20,用于当接收到切换播放指令时,将播放的当前数据由第一播放数据切换为缓存的第二播放数据,同时记录第一播放数据切换播放时的切换时间点;

具体地,在接收到切换播放指令时,切换模块20对当前正在播放的当前数据进行切换,将第一播放数据切换为第二播放数据,并记录第一播放数据切换播放时的切换时间点,以提供再次播放第一播放数据的对接依据。当第一播放数据为用户需要观看的目标视屏,第二播放数据为广告时,在获取目标视屏对应的第一播放数据进行播放的同时获取广告对应的第二播放数据进行缓存。播放目标视频对应的第一播放数据的过程中,如果接收到切换播放指令,则将当前播放的数据由目标视频对应的第一播放数据切换为广告对应的第二播放数据,同时记录目标视频对应的第一播放数据切换播放时的切换时间点。

控制模块30,用于当接收到切回播放指令时,以切换时间点继续播放第一播放数据。

进一步地,将播放的当前数据由第一播放数据切换为第二播放数据进行播放,即播放的当前数据为第二播放数据。在第二播放数据播放完成后,需要回到第一播放数据的播放,此第二播放数据播放完成的信号即可作为切回播放指令。或者在第二播放数据播放过程中,控制模块30接收到切回播放指令,从而将播放的当前数据切回到第一播放数据,且从第一播放数据播放中记录的切换时间点进行播放,以实现数据的快速切换以及无缝对接。

为辅助理解,以一具体实施例加以说明,请参照图7,其中InputSource为原始数据的输入模块、Demux为解复用模块、DataManager为数据管理模块、Buffer为数据缓存模块、Decoder为解码模块、Display为显示模块。其中本播放器切换播放装置可以以DataManager为执行装置,根据播放数据的来源不同,InputSource的功能不同,当播放数据来源于网络流数据时,InputSource对应网络下载模块;当播放数据来源于本地文件,则其负责从本地文件中读入数据。因InputSource获取的原始数据为包含音视频数据、字幕数据等的混合数据,所以此音视频数据、字幕数据需要通过Demux解复用将音视频数据分离。DataManager获取解复用后的音视频数据传输到Decoder解码的同时还传输到Buffer进行缓存,Decoder根据具体解复用出来的音视频数据分别进行音频解码和视频解码。

图7中的播放器包含了Player1和Play2两个数据获取模块,两个数据获取模块共享Decoder和Display资源,因此同一时间只有一个数据获取模块获取的数据工作。Player1的InputSource1获取原始数据发送到Demux1解复用,DataManager1获取解复用后的音视频数据传输到Decoder解码,同时还传输到Buffer1进行缓存,Decoder解码后的数据发送到Display进行输出播放。在Player1播放的同时Player2的InputSource2获取原始数据发送到Demux2解复用,DataManager2获取解复用后的数据,并传输到Buffer2进行缓存。当接收到播放切换指令时,Decoder获取Buffer2中缓存的数据进行解码并发送到Display输出播放,同时记录DataManage1中数据切换播放时的切换时间点。当接收到切回播放指令时,根据记录的切换时间点,Decoder从Buffer1中获取切换时间点的数据继续播放。

本实施例的播放器切换播放装置包括:获取模块10,用于当接收到播放指令时,获取第一播放数据作为当前数据进行播放,同时获取并缓存第二播放数据;切换模块20,用于当接收到切换播放指令时,将播放的当前数据由第一播放数据切换为缓存的第二播放数据,同时记录第一播放数据切换播放时的切换时间点;控制模块30,用于当接收到切回播放指令时,以切换时间点继续播放第一播放数据。本方案通过对第二播放数据的缓存以及对第一播放数据切换播放时的切换时间点记录,切换时可直接获取缓存的第二播放数据进行播放,并根据记录的切换时间点进行切回,不需要在接收到切换播放指令时先停用第一播放数据对应的播放器,启用第二播放数据对应的播放器进行切换,而在第二播放数据播放完成后接收到切回播放指令时,又再启用第一播放数据对应的播放器进行第一播放数据的播放。减少了第一播放数据和第二播放数据之间的切换时间,从而使用户等待时间缩短,提高了播放效率及用户体验性。

进一步的,参照图4,基于本发明的播放器切换播放装置第一实施例,在本发明播放器切换播放装置的第二实施例中,所述播放器包括第一缓存器和第二缓存器,所述获取模块10包括:

第一获取单元11,用于当接收到播放指令时,获取第一播放数据和第二播放数据;

第一控制单元12,用于将第一播放数据作为当前数据进行播放,并将第一播放数据缓存至第一缓存器,同时将获取的第二播放数据缓存至第二缓存器。

可理解的地,经过解复用分离的音视频数据还需要通过解码以实现音视频数据的播放。实际应用时,解复用的速度受网速或者硬件配置的影响,可能跟不上解码播放的速度。为了平衡解复用和解码播放之间的速度匹配,在解复用和解码播放之间设置有缓存模块。解复用后的音视频数据传输到解码器解码的同时还传输到缓存模块进行缓存,以使在出现解复用短暂停顿时,获取缓存模块中的数据进行解码播放。本发明的方案中,为了匹配两个播放器,分别对每个播放器设置有第一缓存器和第二缓存器。在接收到播放指令时,第一获取单元11分别获取第一播放数据和第二播放数据,第一控制单元12在对第一播放数据进行解码播放的同时还将第一播放数据缓存至第一缓存器,对于第二播放数据则不进行解码播放直接缓存至第二缓存器,以在进行数据切换时,直接获取第二缓存器中的第二播放数据进行解码播放,避免重新获取解复用后的数据,减少数据切换所耗费的时间。而对第一播放数据的缓存一方面可以在第一播放数据出现解复用停顿时,从第一缓存器中获取数据进行解码播放;另一方面可以在切换播放数据后再次切回第一播放数据时,实现直接从第一缓存器中获取数据进行解码播放,避免重新获取解复用后的数据,减少数据切换所耗费的时间。因第一播放数据进行解码播放的同时还将其缓存至第一缓存器,解码播放包括解码和显示播放两个过程,缓存只是一个保存的过程,所以解码播放的第一播放数据滞后于缓存的第一播放数据,即解码播放的第一播放数据必定存在与第一缓存器中。第一缓存器相当于一个存储装置,容量有限,对于已经解码播放处理的第一播放数据,再缓存于第一缓存器中也没有意义。所以获取第一缓存器中已经解码播放的第一播放数据,进行删除处理,以释放第一缓存器的空间,提高数据处理速度。

具体地,请参照图8,在正常播放时,其步骤为:1)、通过DataManager获取经过Demux的音视频数据,2)、将获取的经过Demux的音视频数据发送到Decoder进行解码,3)、发送到Decoder进行解码的同时还发送到Buffer缓存,4)、获取Decoder解码过的数据,5)、根据Decoder解码过的数据,将Buffer中相应的数据删除。因此本方案的正常播放是通过DataManager获取Demux中的数据进行解码播放,并将获取的Demux数据发送到Buffer缓存,以实现顺畅播放;通过将Buffer中解码过的数据删除,释放Buffer空间,提高数据处理速度。而从正常播放状态转换为暂停状态,就是通过DataManager从Demux获取数据发送到Buffer缓存的过程。

进一步的,参照图5,基于本发明的播放器切换播放装置第二实施例,在本发明播放器切换播放装置的第三实施例中,所述切换模块20包括:

第二获取单元21,用于当接收到切换播放指令时,获取第二缓存器缓存的第二播放数据,并将播放的当前数据由第一播放数据切换为第二播放数据;

第二控制单元22,用于记录第一播放数据切换播放时的切换时间点,并将此第一播放数据在切换时间点之前已播放数据从第一缓存器中删除。

本实施方案中,可对当前播放的第一播放数据进行切换,当接收到切换指令时,第二获取单元21从第二缓存器中获取缓存的第二播放数据,将此第二播放数据作为当前数据进行播放。同时第二控制单元22记录第一播放数据切换播放时的切换时间点,在此切换时间点之前的数据为已经解码播放的数据,此切换时间点之后的数据为尚未解码播放的数据。因第一播放数据播放的同时还缓存于第一缓存器中,对于已经解码播放的数据再进行缓存是没有意义的,所以需要对第一播放数据在切换时间点之前的数据进行删除处理,以释放第一缓存器的空间,提高数据处理速度。

进一步的,在本发明播放器切换播放装置的另一实施例中,所述的控制模块30还用于:

当接收到切回播放指令时,获取第一播放数据中删除所述已播放数据的剩余数据,并播放所述剩余数据。

进一步地,在第二播放数据播放完成或者在播放过程中,可进行切回播放操作,以切换到第一播放数据播放。当接收到切回播放指令时,控制模块30根据记录的第一播放数据切换播放时的切换时间点,获取第一播放时间中删除已播放数据的尚未播放的剩余数据,进行播放。通过对第一播放数据切换播放时的切换时间点进行记录,实现回切时准确无误的回到切换前的播放时间点。

进一步的,参照图6,基于本发明的播放器切换播放装置第三实施例,在本发明播放器切换播放装置的第四实施例中,所述的播放器切换播放装置还包括:

判断模块40,用于判断所述剩余数据是否播放完成,若剩余数据播放完成,则获取播放器解复用后的数据作为新的第一播放数据以进行播放。

可理解地,第一缓存器中缓存的第一播放数据有限,在将第一缓存器中尚未播放的剩余数据作为播放的当前数据后,判断模块40判断该剩余数据是否播放完成,当判断出该剩余数据播放完成时,则获取播放器解复用后的数据作为新的第一播放数据进行播放,同时将此获取的播放器解复用后的数据发送到第一缓存器中缓存,以确保数据的播放。在一具体实施例中,请参照图9,从缓存状态转换为正常播放状态或者从暂停状态转换为播放状态的步骤为:1)、通过DataManager从Buffer获取缓存的数据,2)、将从Buffer中获取的缓存数据传输到Decoder,3)、当判断出Buffer中的数据传输完成后,从Demux中获取数据,4)、将从Demux中获取的数据传输到Decoder,5)、将从Demux中获取的数据传输到Decoder的同时,还传输到Buffer进行缓存,6)、从Decoder中获取已解码过的数据,7)、根据Decoder解码过的数据,将Buffer中相应的数据删除。本方案在从缓存状态、暂停状态或者其他播放数据切换回原播放数据时,通过先获取Buffer中缓存的数据进行解码播放,以实现快速切换;在Buffer中缓存的数据解码播放完成后,获取Demux中的数据进行解码播放,并将获取的Demux数据发送到Buffer缓存,以实现顺畅播放;通过将Buffer中解码过的数据删除,释放Buffer空间,提高数据处理速度。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

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