发明内容
本公开实施例至少提供一种视频播放方法、装置、电子设备及存储介质。
本公开实施例提供了一种视频播放方法,所述方法包括:
在第一视频满足开始播放条件的情况下,获取从第二视频处回收的、所述第二视频播放时使用的初始播放器,其中,所述第二视频为在所述第一视频之前播放过的视频;
获取所述第一视频的第一配置文件;
基于所述第一配置文件和所述初始播放器,播放所述第一视频。
一种可选的实施方式中,通过以下步骤确定所述第一视频满足开始播放条件:
在检测到第三视频播放完毕时,确定所述第一视频满足所述开始播放条件,所述第三视频位于所述第一视频之前,并且与所述第一视频相邻;或者
在接收到用户针对所述第一视频的播放操作时,确定所述第一视频满足所述开始播放条件;
所述第三视频与所述第二视频为同一视频,或者所述第二视频为位于所述第三视频之前的视频。
一种可选的实施方式中,所述基于所述第一配置文件和所述初始播放器,播放所述第一视频,包括:
基于从所述第一配置文件中读取的配置数据,确定所述第一视频的多个第一播放组件;
将所述第一播放组件添加至所述初始播放器中,得到所述第一视频的第一播放器;
使用所述第一播放器播放所述第一视频。
一种可选的实施方式中,所述使用所述第一播放器播放所述第一视频,包括:
在获取所述第一播放器的情况下,为所述第一播放器和所述第一播放器的播放器引擎分别设置所述第一视频的标题和视频流地址参数;
在所述参数设置完成的情况下,接管所述第一播放器的播放器引擎;
控制所述播放器引擎调取所述第一视频的视频数据,并驱动所述第一播放器加载所述视频数据,以播放所述第一视频。
一种可选的实施方式中,在所述在第一视频满足开始播放条件的情况下,获取从第二视频处回收的、所述第二视频播放时使用的初始播放器之前,所述方法包括:
在第二视频从播放状态变为停止播放状态的情况下,回收播放所述第二视频使用的第二视频播放器;
初始化所述第二视频播放器,得到初始播放器。
一种可选的实施方式中,所述初始化所述第二视频播放器,得到初始播放器,包括:
接管播放所述第二视频使用的第二视频播放器;
清除所述第二视频播放器中添加的、所述第二视频的多个第二播放组件,得到初始播放器。
一种可选的实施方式中,所述方法包括:
在第一视频满足开始播放条件的情况下,若无法获取到所述第二视频的所述初始播放器,创建空白播放器,其中,所述空白播放器中未添加所述播放组件;
将所述空白播放器作为从所述第二视频处回收的、用于播放所述第一视频的所述初始播放器。
本公开实施例还提供一种视频播放装置,所述装置包括:
第一获取模块,用于在第一视频满足开始播放条件的情况下,获取从第二视频处回收的、所述第二视频播放时使用的初始播放器,其中,所述第二视频为在所述第一视频之前播放过的视频;
第二获取模块,用于获取所述第一视频的第一配置文件;
播放模块,用于基于所述第一配置文件和所述初始播放器,播放所述第一视频。
一种可选的实施方式中,所述第一获取模块通过以下步骤确定所述第一视频满足开始播放条件:
在检测到第三视频播放完毕时,确定所述第一视频满足所述开始播放条件,所述第三视频位于所述第一视频之前,并且与所述第一视频相邻;或者
在接收到用户针对所述第一视频的播放操作时,确定所述第一视频满足所述开始播放条件;
所述第三视频与所述第二视频为同一视频,或者所述第二视频为位于所述第三视频之前的视频。
一种可选的实施方式中,所述播放模块具体用于:
基于从所述第一配置文件中读取的配置数据,确定所述第一视频的多个第一播放组件;
将所述第一播放组件添加至所述初始播放器中,得到所述第一视频的第一播放器;
使用所述第一播放器播放所述第一视频。
一种可选的实施方式中,所述播放模块在用于使用所述第一播放器播放所述第一视频时,具体用于:
在获取所述第一播放器的情况下,为所述第一播放器和所述第一播放器的播放器引擎分别设置所述第一视频的标题和视频流地址参数;
在所述参数设置完成的情况下,接管所述第一播放器的播放器引擎;
控制所述播放器引擎调取所述第一视频的视频数据,并驱动所述第一播放器加载所述视频数据,以播放所述第一视频。
一种可选的实施方式中,所述装置还包括回收模块,所述回收模块用于:
在第二视频从播放状态变为停止播放状态的情况下,回收播放所述第二视频使用的第二视频播放器;
初始化所述第二视频播放器,得到初始播放器。
一种可选的实施方式中,所述回收模块在用于初始所述第二视频播放器,得到初始播放器时,具体用于:
接管播放所述第二视频使用的第二视频播放器;
清除所述第二视频播放器中添加的、所述第二视频的多个第二播放组件,得到初始播放器。
一种可选的实施方式中,所述装置还包括创建模块,所述创建模块用于:
在第一视频满足开始播放条件的情况下,若无法获取到所述第二视频的所述初始播放器,创建空白播放器,其中,所述空白播放器中未添加所述播放组件;
将所述空白播放器作为从所述第二视频处回收的、用于播放所述第一视频的所述初始播放器。
本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述视频播放方法的步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述视频播放方法的步骤。
本公开实施例提供的视频播放方法、装置、电子设备及存储介质,通过在第一视频满足开始播放条件的情况下,获取从第二视频处回收的、所述第二视频播放时使用的初始播放器,其中,所述第二视频为在所述第一视频之前播放过的视频;获取所述第一视频的第一配置文件;基于所述第一配置文件和所述初始播放器,播放所述第一视频。
这样,通过播放器的复用,可以省去视频播放阶段播放器的创建,从而大大降低视频播放时的等待时长,可以降低页面资源的消耗,有助于提升视频的加载效率,减少视频起播时长,快捷地实现视频的播放,提高视频播放的效果。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,在用户在观看视频时,大多可以通过针对视频卡片的点击或者滑动等方式,实现对视频播放的切换,当视频卡片被点击以播放视频时,大多是需要先创建一个播放器,然后初始化该播放器,接着在播放器中添加配置文件和视频数据等,才开始播放视频。但是播放器的创建比较耗时,并且播放器创建的过程会耗费页面资源,导致视频的加载效率较低,视频起播耗时较长,可能会导致长时间等待,影响视频播放效果。
基于上述研究,本公开提供了一种视频播放方法,可以在第一视频满足开始播放条件的情况下,获取从在所述第一视频之前播放过的第二视频处回收的、所述第二视频播放时使用的播放器,作为初始播放器,进而获取所述第一视频的第一配置文件,基于所述第一配置文件和所述初始播放器,可以播放所述第一视频,这样,通过播放器的复用,可以省去视频播放阶段播放器的创建,从而大大降低视频播放时的等待时长,可以降低页面资源的消耗,有助于提升视频的加载效率,减少视频起播时长,快捷地实现视频的播放,提高视频播放的效果。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种视频播放方法进行详细介绍,本公开实施例所提供的视频播放方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备。在一些可能的实现方式中,该视频播放方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
请参阅图1,图1为本公开实施例提供的一种视频播放方法的流程图。如图1中所示,本公开实施例提供的视频播放方法包括:
S101:在第一视频满足开始播放条件的情况下,获取从第二视频处回收的、所述第二视频播放时使用的初始播放器,其中,所述第二视频为在所述第一视频之前播放过的视频。
该步骤中,在第一视频满足开始播放条件的情况下,为了播放所述第一视频,需要使用播放器,因此,可以获取在所述第一视频之前播放过的第二视频,从中回收所述第二视频播放时使用的播放器,作为初始播放器。
其中,所述初始播放器为经过初始化处理后的、空白的、全新的播放器。
请同时参阅图2和图3,图2为视频播放示意图之一,图3为视频播放示意图之二。在使用视频播放方法的实际应用场景中,播放视频的设备终端包括但不仅局限于:可穿戴的智能电子设备、不可穿戴的智能终端以及可视化设备,设备终端上安装可以播放视频的应用。在应用运行的过程中,用户可以使用智能手机、平板电脑、可穿戴设备等终端观看视频。如图2和图3中所示,终端的视频播放列表是由多个视频卡片排列组成的。示例性的,视频1当前正在播放,当用户点击视频2时,播放界面切换显示视频2,进行视频2的播放。
其中,双排视频的视频播放界面仅为示例,还可以有单排视频,在此并不做任何限定。示例性的,用户可以通过滑动操作或者点击操作,进行目标视频的播放。
其中,所述第一视频为终端上显示的多个视频中的任意一个视频。
具体的,可以通过以下步骤确定所述第一视频满足开始播放条件:
在检测到第三视频播放完毕时,确定所述第一视频满足所述开始播放条件,所述第三视频位于所述第一视频之前,并且与所述第一视频相邻;或者
在接收到用户针对所述第一视频的播放操作时,确定所述第一视频满足所述开始播放条件;
所述第三视频与所述第二视频为同一视频,或者所述第二视频为位于所述第三视频之前的视频。
其中,所述第三视频播放完毕,可以是接收到所述第三视频播放完成的通知提示,也可以是检测到所述第三视频播放至最后一帧视频帧,还可以是检测到所述第三视频的进度条移动至播放结束的位置,所述进度条移动至播放结束的位置可以是视频自然播放至播放结束的位置,也可以是用户人为地将所述进度条拖动至播放结束的位置,在此并不做任何限定。
其中,所述第三视频播放完毕,只表示本次所述第三视频播放的结束,而不表示所述第三视频无法再次播放的情况。
其中,所述用户针对所述第一视频的播放操作,参照上述视频播放示意图,可以是用户点击所述第一视频,也可以是用户滑动所述第一视频至所述第一视频出现在播放界面上,也可以是用户滑动所述第一视频到播放位置,还可以是通过手势控制选择所述第一视频,在此并不做任何限定。
其中,所述第三视频与所述第二视频可以为同一视频,具体的,为了减少资源的处理量和存储量,从而降低资源的占用,可以设置只回收一个播放器,当需要播放第一视频时,需要从系统后台调取播放器,就要回收所述第一视频的前一个播放的视频使用的播放器,即所述第三视频播放时使用的播放器,这样,实现单个播放器的循环回收和使用,而根据前述,所述第二视频为在所述第一视频之前播放过的视频,因此,所述第三视频与所述第二视频可以为同一视频。
另一种情况下,所述第二视频为位于所述第三视频之前的视频,具体的,为了减少视频播放前的时长,从而降低时间的占用,可以设置允许同时回收多个播放器,当需要播放第一视频时,需要从系统后台调取播放器,此时,可以从后台存放的多个播放器中随机选取一个播放器,即可以获取所述第三视频播放时使用的播放器,顺序使用播放器,也可以获取所述第二视频播放时使用的播放器,间隔使用播放器,这样,实现多个播放器的重复回收和使用,因此,所述第二视频不能与所述第三视频为同一个视频,则所述第二视频为位于所述第三视频之前的视频。
示例性的,当播放视频的应用软件对于同时存在播放器的数量有限制要求时,如某应用软件只允许应用后台运用三个播放器,这样,当播放A视频时使用a播放器,A视频播放完毕后,回收a播放器,当播放B视频时使用b播放器,B视频播放完毕后,回收b播放器,当播放C视频时使用c播放器,C视频播放完毕后,回收c播放器,进一步的,当播放D视频时使用a播放器,D视频播放完毕后,回收a播放器,当播放E视频时使用b播放器,即只有a、b、c三个播放器被重复地回收和使用。
S102:获取所述第一视频的第一配置文件。
该步骤中,从后台数据端调取所述第一视频的数据包,解析所述第一视频的数据包,从中得到所述第一视频的第一配置文件。
其中,所述第一配置文件为存储在应用后台的、与所述第一视频有关的数据包文件,包括但不仅局限于所述第一视频播放过程中需要配置的配置数据。
S103:基于所述第一配置文件和所述初始播放器,播放所述第一视频。
该步骤中,在获取所述第一配置文件和所述初始播放器的情况下,才可以进行所述第一视频的播放。
其中,在进行所述第一视频的播放之前,需要监听播放所述第一视频的应用软件的状态是进入前台或退出前台,当所述应用软件的状态是进入前台时,才可以进行所述第一视频的播放。
本公开实施例提供的视频播放方法,通过在第一视频满足开始播放条件的情况下,获取从第二视频处回收的、所述第二视频播放时使用的初始播放器,其中,所述第二视频为在所述第一视频之前播放过的视频;获取所述第一视频的第一配置文件;基于所述第一配置文件和所述初始播放器,播放所述第一视频。
这样,通过播放器的复用,可以省去视频播放阶段播放器的创建,从而大大降低视频播放时的等待时长,可以降低页面资源的消耗,有助于提升视频的加载效率,减少视频起播时长,快捷地实现视频的播放,提高视频播放的效果。
请同时参阅图4,图4为本公开实施例提供的另一种视频播放方法的流程图。如图4中所示,本公开实施例提供的视频播放方法包括:
S401:在第二视频从播放状态变为停止播放状态的情况下,回收播放所述第二视频使用的第二视频播放器。
该步骤中,在第二视频从播放状态变为停止播放状态的情况下,回溯所述第二视频的播放过程,从中回收播放所述第二视频使用的第二视频播放器。
其中,所述第二视频从播放状态变为停止播放状态的情况,可以是所述第二视频自然播放结束,也可以是所述第二视频在用户操作下播放结束,还可以是在所述第二视频没有播放结束时,用户划走所述第二视频,也可以是用户滑动其他视频到播放位置,在此并不做任何限定。
其中,所述第二视频播放器的回收,可以是在所述第二视频播放完毕后的立刻回收,也可以是在所述第二视频播放完毕后延迟一段时间再回收,也可以是待回收的播放器的数量满足播放视频的应用软件的设置数量时再回收,在此并不做任何限定。
示例性的,某应用软件的应用后台有五个播放器待回收,若此时只需要播放两个视频,那么只需要回收两个播放器,其他三个播放器可以在后续有播放视频的需求时再回收。
S402:初始化所述第二视频播放器,得到初始播放器。
该步骤中,在回收所述第二视频播放器后,可以对所述第二视频播放器进行初始化处理,从而将初始化后的所述第二视频播放器作为所述初始播放器。
S403:在第一视频满足开始播放条件的情况下,获取从第二视频处回收的、所述第二视频播放时使用的初始播放器,其中,所述第二视频为在所述第一视频之前播放过的视频。
S404:获取所述第一视频的第一配置文件。
S405:基于所述第一配置文件和所述初始播放器,播放所述第一视频。
其中,步骤S403至步骤S405的描述,可以参照步骤S101至步骤S103的描述,并且可以达到相同的技术效果和解决相同的技术问题,在此不做赘述。
接下来,将结合一些具体实施方式进一步对本实施例进行说明。
一些可能的实施方式中,步骤S402包括:
接管播放所述第二视频使用的第二视频播放器;
清除所述第二视频播放器中添加的、所述第二视频的多个第二播放组件,得到初始播放器。
该步骤中,在回收所述第二视频播放器后,接管在播放所述第二视频过程中使用的第二视频播放器,确定所述第二视频播放器中添加的、所述第二视频的多个第二播放组件,进而清除所述多个第二播放组件,从而得到清除所述第二播放组件的所述第二播放器,这样,可以将清除所述第二播放组件的所述第二播放器作为所述初始播放器。
其中,所述多个第二播放组件的确定,是基于所述第二配置文件,从所述第二配置文件中读取配置数据,解析所述配置数据,从而确定所述第二视频的多个第二播放组件。
其中,所述多个第二播放组件包括但不仅局限于:监听组件、定时器、不需要的第二视频的播放数据、视频播放界面的视图控件。
其中,所述视频播放界面的视图控件包括但不仅局限于:倍速按钮,全屏按钮,清晰度按钮,清晰度面板,下载按钮,下载面板。
示例性的,通过所述第二配置文件中读取的配置数据得知,所述第二视频的播放过程中使用了某个定时器,因此,清除该定时器。
一些可能的实施方式中,步骤S405包括:
基于从所述第一配置文件中读取的配置数据,确定所述第一视频的多个第一播放组件;
将所述第一播放组件添加至所述初始播放器中,得到所述第一视频的第一播放器;
使用所述第一播放器播放所述第一视频。
该步骤中,基于所述第一配置文件,从所述第一配置文件中读取配置数据,解析所述配置数据,从而确定所述第一视频的多个第一播放组件,进而将所述第一播放组件添加至所述初始播放器中,将添加所述第一播放组件的所述初始播放器作为所述第一视频的第一播放器,从而得到所述第一播放器,这样,可以使用所述第一播放器播放所述第一视频。
其中,所述多个第一播放组件包括但不仅局限于:监听组件、定时器、视频播放界面的视图控件。
其中,所述视频播放界面的视图控件包括但不仅局限于:倍速按钮,全屏按钮,清晰度按钮,清晰度面板,下载按钮,下载面板。
一些可能的实施方式中,所述使用所述第一播放器播放所述第一视频,包括:
在获取所述第一播放器的情况下,为所述第一播放器和所述第一播放器的播放器引擎分别设置所述第一视频的标题和视频流地址参数;
在所述参数设置完成的情况下,接管所述第一播放器的播放器引擎;
控制所述播放器引擎调取所述第一视频的视频数据,并驱动所述第一播放器加载所述视频数据,以播放所述第一视频。
该步骤中,在获取所述第一播放器的情况下,在所述第一播放器的数据中设置所述第一视频的标题和视频流地址参数,然后再在所述第一播放器的播放器引擎的数据中同样设置所述第一视频的标题和视频流地址参数,在所述参数设置完成的情况下,所述第一播放器及其播放器引擎完成关联,这样,接管所述第一播放器的播放器引擎,可以通过所述播放器引擎调取所述第一视频的视频数据,并驱动所述第一播放器加载所述视频数据,进而播放所述第一视频。
其中,所述播放器引擎从服务器接收到所述第一视频的视频数据,然后基于所述第一视频的视频数据,进行画面的渲染,使所述第一视频的画面出现在屏幕上,并且进行加载音频的渲染,使音视频同步,进而播放所述第一视频,使得观看所述第一视频的用户能看到所述第一视频的画面,也能听到所述第一视频的声音。
一些可能的实施方式中,所述方法包括:
在第一视频满足开始播放条件的情况下,若无法获取到所述第二视频的所述初始播放器,创建空白播放器,其中,所述空白播放器中未添加所述播放组件;
将所述空白播放器作为从所述第二视频处回收的、用于播放所述第一视频的所述初始播放器。
该步骤中,在第一视频满足开始播放条件的情况下,可以检测当前是否存在所述第二视频的所述初始播放器,若无法获取到所述第二视频的所述初始播放器,可以创建未添加所述播放组件的空白播放器,从而可以将所述空白播放器作为从所述第二视频处回收的所述初始播放器,并在后续使用所述空白播放器作为所述初始播放器用于播放所述第一视频。
请同时参阅图5,图5为一种视频播放方法的流程图。如图5中所示,在第一视频被点击或滑动的情况下,停止播放第二视频,在停止播放第二视频和/或第二视频播放完毕的情况下,回收第二视频播放器,清除第二视频播放器中添加的、第二视频的多个第二播放组件,然后,初始化第二视频播放器并作为初始播放器,此时,检测当前是否存在所述初始播放器,若存在,直接取出该播放器,若不存在,创建新的空白播放器作为初始播放器,用于播放第一视频,在获取初始播放器的情况下,获取第一视频的第一配置文件,从中确定多个第一播放组件,然后,将多个第一播放组件添加至初始播放器中,得到第一播放器,接着,设置第一视频的标题和视频流地址参数,接管第一播放器的播放器引擎,从而调取第一视频的视频数据,实现播放第一视频。
本公开实施例提供的视频播放方法,可以在第一视频满足开始播放条件的情况下,获取从在所述第一视频之前播放过的第二视频处回收的、所述第二视频播放时使用的播放器,作为初始播放器,进而获取所述第一视频的第一配置文件,基于所述第一配置文件和所述初始播放器,可以播放所述第一视频,这样,通过播放器的复用,可以省去视频播放阶段播放器的创建,从而大大降低视频播放时的等待时长,可以降低页面资源的消耗,有助于提升视频的加载效率,减少视频起播时长,快捷地实现视频的播放,提高视频播放的效果。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与视频播放方法对应的视频播放装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述视频播放方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图6和图7,图6为本公开实施例提供的一种视频播放装置的示意图之一,图7为本公开实施例提供的一种视频播放装置的示意图之二。
如图6中所示,本公开实施例提供的视频播放装置600,包括:
第一获取模块610,用于在第一视频满足开始播放条件的情况下,获取从第二视频处回收的、所述第二视频播放时使用的初始播放器,其中,所述第二视频为在所述第一视频之前播放过的视频。
第二获取模块620,用于获取所述第一视频的第一配置文件。
播放模块630,用于基于所述第一配置文件和所述初始播放器,播放所述第一视频。
一种可选的实施方式中,所述第一获取模块610通过以下步骤确定所述第一视频满足开始播放条件:
在检测到第三视频播放完毕时,确定所述第一视频满足所述开始播放条件,所述第三视频位于所述第一视频之前,并且与所述第一视频相邻;或者
在接收到用户针对所述第一视频的播放操作时,确定所述第一视频满足所述开始播放条件;
所述第三视频与所述第二视频为同一视频,或者所述第二视频为位于所述第三视频之前的视频。
一种可选的实施方式中,所述播放模块630具体用于:
基于从所述第一配置文件中读取的配置数据,确定所述第一视频的多个第一播放组件;
将所述第一播放组件添加至所述初始播放器中,得到所述第一视频的第一播放器;
使用所述第一播放器播放所述第一视频。
一种可选的实施方式中,所述播放模块630在用于使用所述第一播放器播放所述第一视频时,具体用于:
在获取所述第一播放器的情况下,为所述第一播放器和所述第一播放器的播放器引擎分别设置所述第一视频的标题和视频流地址参数;
在所述参数设置完成的情况下,接管所述第一播放器的播放器引擎;
控制所述播放器引擎调取所述第一视频的视频数据,并驱动所述第一播放器加载所述视频数据,以播放所述第一视频。
一种可选的实施方式中,如图7中所示,所述视频播放装置还包括回收模块640和创建模块650。
所述回收模块640用于:
在第二视频从播放状态变为停止播放状态的情况下,回收播放所述第二视频使用的第二视频播放器;
初始化所述第二视频播放器,得到初始播放器。
所述创建模块650用于:
在第一视频满足开始播放条件的情况下,若无法获取到所述第二视频的所述初始播放器,创建空白播放器,其中,所述空白播放器中未添加所述播放组件;
将所述空白播放器作为从所述第二视频处回收的、用于播放所述第一视频的所述初始播放器。
一种可选的实施方式中,所述回收模块640在用于初始所述第二视频播放器,得到初始播放器时,具体用于:
接管播放所述第二视频使用的第二视频播放器;
清除所述第二视频播放器中添加的、所述第二视频的多个第二播放组件,得到初始播放器。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例提供的视频播放装置,可以在第一视频满足开始播放条件的情况下,获取从在所述第一视频之前播放过的第二视频处回收的、所述第二视频播放时使用的播放器,作为初始播放器,进而获取所述第一视频的第一配置文件,基于所述第一配置文件和所述初始播放器,可以播放所述第一视频,这样,通过播放器的复用,可以省去视频播放阶段播放器的创建,从而大大降低视频播放时的等待时长,可以降低页面资源的消耗,有助于提升视频的加载效率,减少视频起播时长,快捷地实现视频的播放,提高视频播放的效果。
对应于上述的视频播放方法,本公开实施例还提供了一种电子设备800,如图8所示,为本公开实施例提供的电子设备800结构示意图,包括:
处理器810、存储器820、和总线830;存储器820用于存储执行指令,包括内存821和外部存储器822;这里的内存821也称内存储器,用于暂时存放处理器810中的运算数据,以及与硬盘等外部存储器822交换的数据,处理器810通过内存821与外部存储器822进行数据交换,当所述电子设备800运行时,所述处理器810与所述存储器820之间通过总线830通信,使得所述处理器810可以执行上述的视频播放方法的步骤。
上述指令的具体执行过程可以参考本公开实施例中所述的视频播放方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的视频播放方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品包括有计算机指令,所述计算机指令被处理器执行时可以执行上述方法实施例中所述的视频播放方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。