本公开涉及音视频技术领域,尤其涉及视频播放方法、装置、电子设备及存储介质。
背景技术:
目前,随着宽带网络的发展,网络视频点播已经成为一种潮流趋势,其能够接入网络为用户提供更加丰富的播放体验。但是,目前,如果当前使用的网络状态不好,例如,出现网络抖动,网络视频就会一直处于缓冲状态,出现视频播放卡顿,播放不流畅的现象。
技术实现要素:
本公开提供一种视频播放方法、装置、电子设备及存储介质,以至少解决相关技术中特殊场景下视频卡顿的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种视频播放方法,包括:
在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度,其中,所述目标视频的视频数据为已下载的视频数据;
当检测到所述目标视频的视频数据被播放完时,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在可选的一个实施例中,还包括:
当所述目标视频的视频数据的数量超过第一预设阈值时,播放所述目标视频。
在可选的一个实施例中,还包括:
响应于视频播放请求,将下载获取的视频数据存储到第一存储设备,同时缓存到第二存储设备;
所述检测所述目标视频的视频数据的播放进度,包括:
检测所述第一存储设备中的视频数据的剩余量。
在可选的一个实施例中,所述当检测到所述目标视频的视频数据被播放完时,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据,包括:
当检测到所述目标视频的视频数据被播放完时,从所述第一存储设备存储的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在可选的一个实施例中,所述当检测到所述目标视频的视频数据被播放完时,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据,包括:
当检测到所述目标视频的视频数据被播放完时,将所述第二存储设备存储的视频数据读取到所述第一存储设备,以使得播放器从所述第一存储设备从所述第二存储设备读取的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在可选的一个实施例中,所述将所述第二存储设备存储的视频数据读取到所述第一存储设备包括:
检测所述第一存储设备上所述目标视频的视频数据的存储量,当所述存储量小于第二预设阈值时,将所述第二存储设备存储的视频数据读取到所述第一存储设备。
在可选的一个实施例中,所述在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度之前,还包括:
检测所述目标视频的视频数据是否已全部下载;
若所述目标视频的视频数据未全部下载,则执行所述在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度的步骤。
在可选的一个实施例中,所述方法还包括:获取所述目标视频的视频信息;
所述当检测到所述目标视频的视频数据被播放完时,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据,包括:
当检测到所述目标视频的视频数据被播放完时,且所述目标视频的视频信息和所述目标视频的视频数据的播放进度不匹配,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
根据本公开实施例的第二方面,提供一种视频播放装置,包括:
检测单元,被配置为执行在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度,其中,所述目标视频的视频数据为已下载的视频数据;
播放单元,被配置为执行当检测到所述目标视频的视频数据被播放完时,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在可选的一个实施例中,所述播放单元还被配置为执行:
当所述目标视频的视频数据的数量超过第一预设阈值时,播放所述目标视频。
在可选的一个实施例中,所述视频播放装置还包括下载单元,被配置为执行响应于视频播放请求,将下载获取的视频数据存储到第一存储设备,同时缓存到第二存储设备;
所述检测单元还被配置为执行:
检测所述第一存储设备中的视频数据的剩余量。
在可选的一个实施例中,所述播放单元还被配置为执行:
当检测到所述目标视频的视频数据被播放完时,从所述第一存储设备存储的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在可选的一个实施例中,所述播放单元还被配置为执行:
当检测到所述目标视频的视频数据被播放完时,将所述第二存储设备存储的视频数据读取到所述第一存储设备,以使得播放器从所述第一存储设备从所述第二存储设备读取的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在可选的一个实施例中,所述播放单元还被配置为执行:
检测所述第一存储设备上所述目标视频的视频数据的存储量,当所述存储量小于第二预设阈值时,将所述第二存储设备存储的视频数据读取到所述第一存储设备。
在可选的一个实施例中,所述检测单元还被配置为执行:
检测所述目标视频的视频数据是否已全部下载;
若所述目标视频的视频数据未全部下载,则执行所述在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度的步骤。
在可选的一个实施例中,所述视频播放装置还包括获取单元,被配置为执行获取所述目标视频的视频信息;
所述播放单元还被配置为执行:
当检测到所述目标视频的视频数据被播放完时,且所述目标视频的视频信息和所述目标视频的视频数据的播放进度不匹配,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现第一方面所述的视频播放方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行第一方面所述的视频播放方法。
本公开的实施例提供的技术方案至少带来以下有益效果:在目标视频的播放过程中,检测目标视频的视频数据的播放进度,其中,目标视频的视频数据为已下载的视频数据,当检测到目标视频的视频数据被播放完时,表示出现了播放卡顿的问题,此时,从目标视频的视频数据的起始位置读取视频数据,并播放读取的视频数据,从而解决了卡顿问题,让用户在视觉上看到播放流畅的视频。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种视频播放方法的应用环境图。
图2是根据一示例性实施例示出的一种视频播放方法的流程图。
图3是根据一示例性实施例示出的一种视频播放装置的框图。
图4是根据一示例性实施例示出的一种电子设备的内部结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所提供的视频播放方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行交互。其中,终端110可以是但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
其中,终端110在目标视频的播放过程中,检测目标视频的视频数据的播放进度,其中,目标视频的视频数据为已下载的视频数据,当检测到目标视频的视频数据被播放完时,则从目标视频的视频数据的起始位置读取视频数据,并播放读取的视频数据,从而解决了卡顿问题,让用户在视觉上看到播放流畅的视频。
图2是根据一示例性实施例示出的一种视频播放方法的流程图,如图2所示,视频播放方法应用于图1的终端110中,包括以下步骤:
在步骤s21中,在目标视频的播放过程中,检测目标视频的视频数据的播放进度,其中,目标视频的视频数据为已下载的视频数据。
其中,播放进度可以为已下载的视频数据的播放时长、播放的数据的数量等等,此处不做具体限定。
其中,视频播放是将已下载的视频数据加载到内存中进行播放,因此,检测目标视频的视频数据的播放进度即相当于检测已下载的视频数据的播放时长,和/或,播放数据的数量等。
在步骤s22中,当检测到目标视频的视频数据被播放完时,则从目标视频的视频数据的起始位置读取视频数据,并播放读取的视频数据。
在本公开实施例中,为了便于理解,此处举例说明,假设已下载的视频数据的数量为2m,则从0开始重新读取视频数据,并播放读取的视频数据。
上述视频播放方法,在目标视频的播放过程中,检测目标视频的视频数据的播放进度,其中,目标视频的视频数据为已下载的视频数据,当检测到目标视频的视频数据被播放完时,表示出现了播放卡顿的问题,此时,从目标视频的视频数据的起始位置读取视频数据,并播放读取的视频数据,从而解决了卡顿问题,让用户在视觉上看到播放流畅的视频。
在可选的一个实施例中,还包括:
当目标视频的视频数据的数量超过第一预设阈值时,播放目标视频。
在本公开实施例中,程序的运行(即视频的播放)都需要在内存中进行,只要程序在运行中,cpu就会把需要处理的数据加载到内存中进行处理。其可以随时从任何一个指定的地址写入(存入)或读出(取出)数据。因为其具有数据的易失性特质,可用于暂时存放cpu中的数据。其中,当内存为随机存取存储设备,可以通过两种方式将视频数据从服务器上存储到内存,第一种,将视频数据从服务器上缓存到内存(即高速缓冲存储器cache),第二种,将视频数据从服务器上缓冲到内存(即缓冲寄存器buffer)。
在本公开实施例中,预先设置一个阈值,该阈值可以是根据目标视频的整个数据的数量来确定,例如,将阈值设置为整个数据的数量的10%。该阈值也可以不根据目标视频的整个数据的数量来确定,直接按照播放视频的经验确定一个阈值。
在本公开实施例中,在播放目标视频之前,需要检测目标视频的视频数据的数量是否超过第一预设阈值,具体的,可以检测监测buffer值或cache值,当目标视频的视频数据的数量超过第一预设阈值时,播放目标视频。如果缓存的视频特别短,例如一帧或者两帧之类等,则循环播放的时候就会重复播放特别短的视频数据,在观感上看起来像视频卡顿,因此,通过设置判断阈值,减少视频播放过程中的卡顿,提高用户体验。
在可选的一个实施例中,还包括:响应于视频播放请求,将下载获取的视频数据存储到第一存储设备,同时缓存到第二存储设备;步骤s21中检测目标视频的视频数据的播放进度,包括:
检测第一存储设备中的视频数据的剩余量。
其中,第一存储设备为随机存取存储设备,是服务器或外存储设备等与cpu进行沟通的桥梁,该第一存储设备为与cpu直接交换数据的内部存储器。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。
其中,第二存储设备为外存储设备,是指除第一存储设备及cpu存储以外的储存器,该第二存储设备一般断电后仍然能保存数据,用于存放暂时不用的程序和数据。常见的外存储设备包括硬盘、软盘、光盘、u盘等。
在本公开实施例中,为了便于理解,此处举例说明,例如,目标视频的视频数据(即已下载的视频数据)下载的数量为2m,在目标视频的播放过程中,可以检测到目标视频的播放进度(假设播放进度为数据数量)为1m,则第一存储设备中的视频数据的剩余量为1m。
在可选的一个实施例中,步骤s22包括:
当检测到目标视频的视频数据被播放完时,从第一存储设备存储的视频数据的起始位置读取视频数据,并播放读取的视频数据。
在本公开实施例中,第一存储设备存储可以存放数量较少的数据,例如,第一存储设备存储可以存放2m的数据,若目标视频的视频数据(即已下载的视频数据)为4m,则目标视频的视频数据在播放3-4m的时候,将会删除第一存储设备缓存的1-2m的视频数据;若目标视频的视频数据(即已下载的视频数据)为1m或2m,则在目标视频的视频数据被播放完时,第一存储设备存储的1-2m的视频数据可以不被删除,则可以从第一存储设备存储的视频数据的起始位置读取视频数据,并播放读取的视频数据。
在可选的一个实施例中,步骤s22包括:
当检测到目标视频的视频数据被播放完时,将第二存储设备存储的视频数据读取到第一存储设备,以使得播放器从第一存储设备从第二存储设备读取的视频数据的起始位置读取视频数据,并播放读取的视频数据。
在可选的一个实施例中,将第二存储设备存储的视频数据读取到第一存储设备包括:检测第一存储设备上目标视频的视频数据的存储量,当存储量小于第二预设阈值时,将第二存储设备存储的视频数据读取到第一存储设备。
在本公开实施例中,因为第一存储设备是短期内存储少量数据的,当检测到目标视频的视频数据被播放完时,需要去检测第一存储设备上目标视频的视频数据的存储量,当存储量小于第二预设阈值时,则表示存储量过小,不会播放该第一存储设备上目标视频的视频数据,将第二存储设备存储的视频数据读取到第一存储设备(即将外存储设备的数据加载到内存中),播放器从读取的视频数据的起始位置读取视频数据,并播放读取的视频数据。
在可选的一个实施例中,在步骤s21在目标视频的播放过程中,检测目标视频的视频数据的播放进度之前,还包括:
检测目标视频的视频数据是否已全部下载;
若目标视频的视频数据未全部下载,则执行在目标视频的播放过程中,检测目标视频的视频数据的播放进度的步骤。
在本公开实施例中,终端可以获知目标视频的全部视频数据是否都已被下载,则不会执行步骤s21及后续步骤。此处为了便于理解,举例说明,若目标视频的整个视频数据为2m,第一存储设备存储的可缓存容量为3m,则目标视频的整个视频数据均可以缓存到第一存储设备,若目标视频的视频数据已全部下载,则不会在播放视频的过程中出现卡顿的现象,则不需要执行步骤s21及后续步骤。若目标视频的视频数据未全部缓存,则播放过程中可能出现视频卡顿,则需要在目标视频的播放过程中,检测目标视频的视频数据的播放进度,其中,目标视频的视频数据为已下载的视频数据,当检测到目标视频的视频数据被播放完时,表示出现了播放卡顿的问题,此时,从目标视频的视频数据的起始位置读取视频数据,并播放读取的视频数据,从而解决了卡顿问题,让用户在视觉上看到播放流畅的视频。
在可选的一个实施例中,该方法还包括:获取目标视频的视频信息;步骤s22包括:
当检测到目标视频的视频数据被播放完时,且目标视频的视频信息和目标视频的视频数据的播放进度不匹配,则从目标视频的视频数据的起始位置读取视频数据,并播放读取的视频数据。
其中,目标视频的视频信息包括目标视频的整个时长或者数据数量。在本公开实施例中,需要将目标视频的视频信息和视频数据的播放进度相匹配,例如,目标视频的整个时长为2分钟,目标视频的视频数据被播放完时的播放进度为1分钟,则证明目标视频的视频数据未全部缓存,此时,目标视频的视频数据被播放完表示出现了播放卡顿的问题,需要从目标视频的视频数据的起始位置读取视频数据,并播放读取的视频数据,从而解决了卡顿问题,让用户在视觉上看到播放流畅的视频。
在可选的一个实施例中,视频数据的头文件包括元数据,该元数据可以为moov,元数据moov可以实现在线播放时的视频边下载边播放。视频数据的头文件包括元数据moov,元数据moov在头部,会首先加载读到元数据moov,从而马上就能出画面。
在本公开实施例中,当检测到目标视频的视频数据被播放完时,从目标视频的视频数据的起始位置读取视频数据,因为元数据moov在头部,会首先加载读到元数据moov,从而马上就能出画面,实现了卡顿时候的视频的无缝衔接,解决了现有的卡顿的问题。
在可选的一个实施例中,当该目标视频的整个视频数据播放完成,或者,用户主动退出该目标视频的播放(例如,界面上有相应的关闭控件,监测到用户对关闭控件的触碰操作,则退出该目标视频的播放),则不再执行本公开实施例中的方案。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图3是根据一示例性实施例示出的一种视频播放装置框图。参照图3,该装置包括检测单元31和播放单元32。
该检测单元31,被配置为执行在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度,其中,所述目标视频的视频数据为已下载的视频数据。
该播放单元32,被配置为执行当检测到所述目标视频的视频数据被播放完时,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在一示例性实施例中,所述播放单元32还被配置为执行:
当所述目标视频的视频数据的数量超过第一预设阈值时,播放所述目标视频。
在一示例性实施例中,所述视频播放装置还包括下载单元,被配置为执行响应于视频播放请求,将下载获取的视频数据存储到第一存储设备,同时缓存到第二存储设备;
所述检测单元31还被配置为执行:
检测所述第一存储设备中的视频数据的剩余量。
在一示例性实施例中,所述播放单元32还被配置为执行:
当检测到所述目标视频的视频数据被播放完时,从所述第一存储设备存储的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在一示例性实施例中,所述播放单元32还被配置为执行:
当检测到所述目标视频的视频数据被播放完时,将所述第二存储设备存储的视频数据读取到所述第一存储设备,以使得播放器从所述第一存储设备从所述第二存储设备读取的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在一示例性实施例中,所述播放单元32还被配置为执行:
检测所述第一存储设备上所述目标视频的视频数据的存储量,当所述存储量小于第二预设阈值时,将所述第二存储设备存储的视频数据读取到所述第一存储设备。
在一示例性实施例中,所述检测单元31还被配置为执行:
检测所述目标视频的视频数据是否已全部下载;
若所述目标视频的视频数据未全部下载,则执行所述在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度的步骤。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种电子设备z00的框图。例如,电子设备z00可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
参照图4,电子设备z00可以包括以下一个或多个组件:处理组件z02、存储器z04、电力组件z06、多媒体组件z08、音频组件z10、输入/输出(i/o)的接口z12、传感器组件z14以及通信组件z16。
处理组件z02通常控制电子设备z00的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件z02可以包括一个或多个处理器z20来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件z02可以包括一个或多个模块,便于处理组件z02和其他组件之间的交互。例如,处理组件z02可以包括多媒体模块,以方便多媒体组件z08和处理组件z02之间的交互。
存储器z04被配置为存储各种类型的数据以支持在电子设备z00的操作。这些数据的示例包括用于在电子设备z00上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器z04可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储设备(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、快闪存储器、磁盘或光盘。
电源组件z06为电子设备z00的各种组件提供电力。电源组件z06可以包括电源管理系统,一个或多个电源,及其他与为电子设备z00生成、管理和分配电力相关联的组件。
多媒体组件z08包括在所述电子设备z00和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件z08包括一个前置摄像头和/或后置摄像头。当电子设备z00处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件z10被配置为输出和/或输入音频信号。例如,音频组件z10包括一个麦克风(mic),当电子设备z00处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器z04或经由通信组件z16发送。在一些实施例中,音频组件z10还包括一个扬声器,用于输出音频信号。
i/o接口z12为处理组件z02和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件z14包括一个或多个传感器,用于为电子设备z00提供各个方面的状态评估。例如,传感器组件z14可以检测到电子设备z00的打开/关闭状态,组件的相对定位,例如所述组件为电子设备z00的显示器和小键盘,传感器组件z14还可以检测电子设备z00或电子设备z00一个组件的位置改变,用户与电子设备z00接触的存在或不存在,电子设备z00方位或加速/减速和电子设备z00的温度变化。传感器组件z14可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件z14还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件z14还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件z16被配置为便于电子设备z00和其他设备之间有线或无线方式的通信。电子设备z00可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件z16经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件z16还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
在示例性实施例中,电子设备z00可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在一个实施例中,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现以下步骤:
在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度,其中,所述目标视频的视频数据为已下载的视频数据;
当检测到所述目标视频的视频数据被播放完时,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在一个实施例中,处理器被配置为执行所述指令时还实现以下步骤:
当所述目标视频的视频数据的数量超过第一预设阈值时,播放所述目标视频。
在一个实施例中,处理器被配置为执行所述指令时还实现以下步骤:
响应于视频播放请求,将下载获取的视频数据存储到第一存储设备,同时缓存到第二存储设备;
检测所述第一存储设备中的视频数据的剩余量。
在一个实施例中,处理器被配置为执行所述指令时还实现以下步骤:
当检测到所述目标视频的视频数据被播放完时,从所述第一存储设备存储的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在一个实施例中,处理器被配置为执行所述指令时还实现以下步骤:
当检测到所述目标视频的视频数据被播放完时,将所述第二存储设备存储的视频数据读取到所述第一存储设备,以使得播放器从所述第一存储设备从所述第二存储设备读取的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在一个实施例中,处理器被配置为执行所述指令时还实现以下步骤:
检测所述第一存储设备上所述目标视频的视频数据的存储量,当所述存储量小于第二预设阈值时,将所述第二存储设备存储的视频数据读取到所述第一存储设备。
在一个实施例中,处理器被配置为执行所述指令时还实现以下步骤:
检测所述目标视频的视频数据是否已全部下载;
若所述目标视频的视频数据未全部下载,则执行所述在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度的步骤。
在一个实施例中,处理器被配置为执行所述指令时还实现以下步骤:
获取所述目标视频的视频信息;
当检测到所述目标视频的视频数据被播放完时,且所述目标视频的视频信息和所述目标视频的视频数据的播放进度不匹配,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在一个实施例中,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行时实现以下步骤:
在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度,其中,所述目标视频的视频数据为已下载的视频数据;
当检测到所述目标视频的视频数据被播放完时,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在一个实施例中,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备还能够执行时实现以下步骤:
当所述目标视频的视频数据的数量超过第一预设阈值时,播放所述目标视频。
在一个实施例中,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备还能够执行时实现以下步骤:
响应于视频播放请求,将下载获取的视频数据存储到第一存储设备,同时缓存到第二存储设备;
检测所述第一存储设备中的视频数据的剩余量。
在一个实施例中,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备还能够执行时实现以下步骤:
当检测到所述目标视频的视频数据被播放完时,从所述第一存储设备存储的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在一个实施例中,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备还能够执行时实现以下步骤:
当检测到所述目标视频的视频数据被播放完时,将所述第二存储设备存储的视频数据读取到所述第一存储设备,以使得播放器从所述第一存储设备从所述第二存储设备读取的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
在一个实施例中,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备还能够执行时实现以下步骤:
检测所述第一存储设备上所述目标视频的视频数据的存储量,当所述存储量小于第二预设阈值时,将所述第二存储设备存储的视频数据读取到所述第一存储设备。
在一个实施例中,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备还能够执行时实现以下步骤:
检测所述目标视频的视频数据是否已全部下载;
若所述目标视频的视频数据未全部下载,则执行所述在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度的步骤。
在一个实施例中,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备还能够执行时实现以下步骤:
获取所述目标视频的视频信息;
当检测到所述目标视频的视频数据被播放完时,且所述目标视频的视频信息和所述目标视频的视频数据的播放进度不匹配,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储设备(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开专利的保护范围应以所附权利要求为准。
1.一种视频播放方法,其特征在于,包括:
在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度,其中,所述目标视频的视频数据为已下载的视频数据;
当检测到所述目标视频的视频数据被播放完时,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
2.根据权利要求1所述的视频播放方法,其特征在于,还包括:
当所述目标视频的视频数据的数量超过第一预设阈值时,播放所述目标视频。
3.根据权利要求1所述的视频播放方法,其特征在于,还包括:
响应于视频播放请求,将下载获取的视频数据存储到第一存储设备,同时缓存到第二存储设备;
所述检测所述目标视频的视频数据的播放进度,包括:
检测所述第一存储设备中的视频数据的剩余量。
4.根据权利要求3所述的视频播放方法,其特征在于,所述当检测到所述目标视频的视频数据被播放完时,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据,包括:
当检测到所述目标视频的视频数据被播放完时,从所述第一存储设备存储的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
5.根据权利要求3所述的视频播放方法,其特征在于,所述当检测到所述目标视频的视频数据被播放完时,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据,包括:
当检测到所述目标视频的视频数据被播放完时,将所述第二存储设备存储的视频数据读取到所述第一存储设备,以使得播放器从所述第一存储设备从所述第二存储设备读取的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
6.根据权利要求5所述的视频播放方法,其特征在于,所述将所述第二存储设备存储的视频数据读取到所述第一存储设备包括:
检测所述第一存储设备上所述目标视频的视频数据的存储量,当所述存储量小于第二预设阈值时,将所述第二存储设备存储的视频数据读取到所述第一存储设备。
7.根据权利要求1所述的视频播放方法,其特征在于,所述在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度之前,还包括:
检测所述目标视频的视频数据是否已全部下载;
若所述目标视频的视频数据未全部下载,则执行所述在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度的步骤。
8.一种视频播放装置,其特征在于,包括:
检测单元,被配置为执行在目标视频的播放过程中,检测所述目标视频的视频数据的播放进度,其中,所述目标视频的视频数据为已下载的视频数据;
播放单元,被配置为执行当检测到所述目标视频的视频数据被播放完时,则从所述目标视频的视频数据的起始位置读取所述视频数据,并播放读取的所述视频数据。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的视频播放方法。
10.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至7中任一项所述的视频播放方法。
技术总结