一种视频播放方法及装置与流程

文档序号:16065711发布日期:2018-11-24 12:38阅读:164来源:国知局

本发明属于多媒体资源处理技术领域,尤其涉及一种视频播放方法及装置。

背景技术

近几年随着移动互联网的兴起和繁荣,其已逐渐成为人们生活中不可或缺的一部分,手机设备拍摄视频的能力和网络的升级催生了大家对视频领域的关注,而“视频”与“互联网”的结合更是凸显了以下几个特征:感染力强、形式内容多样、肆意创意等等,观看者首先会产生兴趣,关注视频,再由关注者变为传播分享者,而被传播对象往往是有着和他一样特征兴趣的人,这一系列的过程就是在目标消费者间精准筛选传播的过程,毕竟大部分情况,视频的感染力、宣传度大大的高于静态的图片文字。在这种强势的市场需求下,视频营销随之孕育而生。

其中,在列表中播放推荐视频,可以比用文字或图片更直观更生动的展示信息,使得推荐内容更加鲜活,且不需要用户执行更多繁琐的步骤,从而可以促使用户对自己感兴趣的内容进行查看。现有技术中在列表中播放推荐视频时视频流的缺点是:初始形态非静音状态、视频流开始播放时可能存在屏幕闪烁。初始状态非静音,会使得视频流的出现比较突兀,例如用户在公共场合突然刷到一个推荐视频并且以非静音形式自动播放,则会非常突然地出现视频的声音,效果可想而知,视频流开始播放时存在屏幕闪烁同样会对用户造成不良好的观看体验。鉴于此本领域需提供一种更为优化的视频播放技术,以提升用户体验。



技术实现要素:

有鉴于此,本发明的目的在于提供一种视频播放方法及装置,用于至少克服现有的视频流播放技术存在的上述缺陷,以提升用户体验。

为此,本发明公开如下技术方案:

一种视频播放方法,包括:

若检测到多媒体列表的滑动操作,则确定所述多媒体列表中当前是否存在待播放的视频对象;

若存在,则获取所述视频对象所需的目标布局参数值;

调用预先缓存的第一视图界面,基于所述目标布局参数值在所述多媒体列表的上层展示所述第一视图界面,使得所展示的第一视图界面覆盖所述多媒体列表中的所述待播放的视频对象;其中,所述第一视图界面在缓存时对应的第一布局参数值能够使得所述第一视图界面处于不可见状态;

利用展示的第一视图界面以静音方式对所述视频对象进行播放控制。

上述方法,优选的,所述确定所述多媒体列表中当前是否存在待播放的视频对象,包括:

利用预定的滚动监听方法监听所述多媒体列表的滑动过程,以确定所述多媒体列表中当前处于设备屏幕区域的视频对象;

判断所述视频对象是否满足预定的播放条件;

若满足,则确定所述视频对象为当前待播放的视频对象。

上述方法,优选的,所述预定的播放条件包括所述视频对象在设备屏幕上的可见比达到预定的可见比阈值和/或所述多媒体列表的滑动速度低于预定的速度阈值。

上述方法,优选的,所述调用预先缓存的第一视图界面,包括:

调用所述多媒体列表的父容器中预先缓存的第一视图界面。

上述方法,优选的,所述调用预先缓存的第一视图界面,利用展示的第一视图界面以静音方式对所述视频对象进行播放控制,包括:

判断所述视频对象中是否存在音频焦点;

若存在,则释放所述视频对象中的音频焦点,并设置所述视频对象的播放音量为0;

重设播放器,以使得对所述播放器进行初始化;并将所述视频对象与所述播放器进行绑定;

利用重设后的所述播放器调用预先缓存的所述第一视图界面,并基于所述视频对象的目标布局参数值展示所述第一视图界面;

在所述第一视图界面中基于所设置的视频对象的播放音量以静音方式播放所述视频对象;

在所述视频对象符合预定的停止播放条件时,停止播放所述视频对象,并将所述第一视图界面重设为不可见状态。

上述方法,优选的,所述停止播放条件为满足如下情况中的至少一种:

所述视频对象在设备屏幕上的可见比低于预定的可见比阈值,或者,所述多媒体列表的滑动速度不低于预定的速度阈值。

上述方法,优选的,在以所述视频对象的目标布局参数值展示所述第一视图界面,并利用展示的第一视图界面播放所述视频对象时所述第一视图界面不提供可用的播放控件;

所述方法还包括:

获得用户对所述视频对象的详情播放请求,以预定方式播放所述视频对象的详情视频内容,并在播放所述详情视频内容的过程中,向用户提供可用的播放控件。

一种视频播放装置,包括:

确定单元,用于在检测到多媒体列表的滑动操作的情况下,确定所述多媒体列表中当前是否存在待播放的视频对象;

获取单元,用于在存在待播放的视频对象情况下,获取所述视频对象所需的目标布局参数值;

调用及展示单元,用于调用预先缓存的第一视图界面,基于所述目标布局参数值在所述多媒体列表的上层展示所述第一视图界面,使得所展示的第一视图界面覆盖所述多媒体列表中的所述待播放的视频对象;其中,所述第一视图界面在缓存时对应的第一展示参数值能够使得所述第一视图界面处于不可见状态;

播放控制单元,用于利用展示的第一视图界面以静音方式对所述视频对象进行播放控制。

上述装置,优选的,所述确定单元,具体用于:

利用预定的滚动监听方法监听所述多媒体列表的滑动过程,以确定所述多媒体列表中当前处于设备屏幕区域的视频对象;

判断所述视频对象是否满足预定的播放条件;

若满足,则确定所述视频对象为当前待播放的视频对象。

上述装置,优选的,所述调用及展示单元,调用预先缓存的第一视图界面,具体包括:

调用所述多媒体列表的父容器中预先缓存的第一视图界面。

上述装置,优选的,所述播放控制单元,具体用于:

判断所述视频对象中是否存在音频焦点;

若存在,则释放所述视频对象中的音频焦点,并设置所述视频对象的播放音量为0;

重设播放器,以使得对所述播放器进行初始化;并将所述视频对象与所述播放器进行绑定;

利用重设后的所述播放器调用预先缓存的所述第一视图界面,并基于所述所述视频对象的目标布局参数值展示所述第一视图界面;

在所述第一视图界面中基于所设置的视频对象的播放音量以静音方式播放所述视频对象;

在所述视频对象符合预定的停止播放条件时,停止播放所述视频对象,并将所述第一视图界面重设为不可见状态。

上述装置,优选的,在以所述视频对象的目标布局参数值展示所述第一视图界面,并利用展示的第一视图界面播放所述视频对象时所述第一视图界面不提供可用的播放控件;

所述播放控制单元还用于:

获得用户对所述视频对象的详情播放请求,以预定方式播放所述视频对象的详情视频内容,并在播放所述详情视频内容的过程中,向用户提供可用的播放控件。

根据以上方案可知,本申请的视频播放方法及装置,在检测到多媒体列表的滑动操作,并确定出所述多媒体列表中当前存在待播放的视频对象时,调用预先缓存的第一视图界面,并以所述视频对象所需的目标布局参数值展示所述第一视图界面,且利用展示的第一视图界面以静音方式对所述视频对象进行播放控制。由此可见,本申请方案实现了以静音方式对多媒体列表中的视频对象进行播放,可有效提升列表视频推荐场景中的用户播放体验,且由于利用预先缓存的视图界面对视频对象进行播放控制,从而,在播放视频对象时无需实时执行复杂的视图界面创建操作,提升了视频对象的播放效率并可有效消除视频对象开始播放时的屏幕闪烁问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本申请实施例一提供的视频播放方法的流程图;

图2是本申请实施例二提供的视频播放方法的流程图;

图3是本申请实施例三提供的视频播放装置的结构示意图。

具体实施方式

为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:

surfaceview:继承view,但拥有独立的绘制表面,即它不与其宿主窗口共享同一个绘图表面,可以单独在一个线程进行绘制,并不会占用主线程的资源。这样,绘制就会比较高效,游戏,视频播放,还有最近热门的直播,都可以用它。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请提供一种视频播放方法及装置,以实现对现有的视频播放技术进行优化,该方法及装置可应用于但不限于宣传,预告片,自媒体,列表视频推荐等应用场景的小视频展示中,以下将通过多个实施例对本申请的视频播放方法及装置进行说明。

参考图1,是本申请提供的一种视频播放方法实施例一的流程图,在本实施例中,如图1所示,所述视频播放方法包括如下步骤:

步骤101、若检测到多媒体列表的滑动操作,则确定所述多媒体列表中当前是否存在待播放的视频对象。

现有技术中在进行视频流推荐时,视频是连续播放的,即中间并没有处理其他形式多媒体信息(比如文字、图片等)的情况,区别于现有技术的这一特点,本申请中,所述多媒体列表中不仅仅可以包括待推荐的各个视频对象,还可以包括文字类、图片类、音频类等其他形式的多媒体对象,通过在多媒体列表中同时提供文字类、图片类、音频类等其他形式的多媒体信息,可以使得后续在对推荐的多个视频对象进行播放控制的过程中,还可以穿插展示一些诸如文字、图片、音频等其他类型的多媒体信息,从而丰富了多媒体内容推荐时的应用形式。

本步骤101可通过如下的处理过程来确定所述多媒体列表中当前是否存在待播放的视频对象:

1)利用预定的滚动监听方法监听所述多媒体列表的滑动过程,以确定所述多媒体列表中当前处于设备屏幕区域的视频对象;

2)判断所述视频对象是否满足预定的播放条件;其中,所述预定的播放条件包括所述视频对象在设备屏幕上的可见比达到预定的可见比阈值和/或所述多媒体列表的滑动速度低于预定的速度阈值。

3)若满足,则确定所述视频对象为当前待播放的视频对象。

具体地,在用户滑动(或滚动)多媒体列表的过程中,多媒体列表会随用户操作而以相对应的速度向相应方向(如屏幕上下方向、左右方向等)滑动,而在滑动过程中或滑动停止时,对于处于设备屏幕区域的可见视频对象,需对其进行自动播放,以实现对用户进行视频推荐。

本申请中,当多媒体列表在滑动过程中或滑动结束时,视频对象对于用户的“可见”,具体是指多媒体列表中的视频对象在设备屏幕上的可见比达到预定的可见比阈值,所述“可见比”具体指视频对象处于设备屏幕上的视图部分占视频对象总视图的比例。示例性地,可将所述可见比设置为80%(显然还可以设置为其他数值),从而,当视频对象在设备屏幕上的可见比达到80%时则可认为该视频对象是可见的,反之,若视频对象在设备屏幕上的可见比未达到80%则视为是不可见。

作为一种可能的实施方式,在多媒体列表滑动时,可判断其滑动方向,其中,每个多媒体列表会对应一个列表容器,可预先在多媒体列表的列表容器中添加滚动监听,示例性地,例如可以在listview列表容器中添加setonscrolllistener,在recyclerview容器中添加addonscrolllistener,监听里会有两个方法,本申请用onscroll方法记录当前多媒体列表中在设备屏幕上的第一个可见item(视频对象),以及可见item的总数,用onscrollstatechanged来监听手滑动屏幕的整个过程;其中,为避免卡顿,本申请在快速滑动列表即多媒体列表的滑动速度不低于预定的速度阈值时,不检测item的变化;在慢速滑动即多媒体列表的滑动速度低于预定的速度阈值或者滑动停止时根据展示总数循环判断item是否有具有符合条件(如可见比达到所述可见比阈值)的需要播放的视频对象,如果有,则再利用rect类获取要展示的视频对象的视图在屏幕坐标中的可视区域,若有多个符合条件的视频对象,则可按预定的优先级策略获取优先级最高的视频对象作为当前待播放的视频对象。

其中,所述按预定的优先级策略获取优先级最高的视频对象作为当前待播放的视频对象,具体地,比如可以是选取其中在设备屏幕上所展示的视图面积最大的视频对象为最高优先级对象,并将其作为当前待播放的视频对象,或者,选取其中第一个出现在设备屏幕上的视频对象为最高优先级对象,并将其作为当前待播放的视频对象等等,当然还可以根据实际的业务逻辑,选取设备屏幕上可见视频对象中的多个或全部作为当前待播放的视频对象(而非仅选取可见视频对象中的一个作为当前待播放的视频对象),本实施例对此不作限定。

上文中所涉及的listview、setonscrolllistener、recyclerview、addonscrolllistener、onscroll、onscrollstatechanged以及rect类等均为现有技术,具体可参考现有技术中对这些内容的介绍,这里不再对其做详细阐述。

步骤102、若存在,则获取所述视频对象所要求的目标布局参数值。

若存在待播放的视频对象(如具体在设备屏幕上存在可见比达到预定可见比阈值的一个或多个视频对象),则需要获得所述待播放的视频对象所要求的目标布局参数值,例如,所要求的视图界面的宽高值等,以实现为待播放视频对象的播放视图的布局提供依据。

步骤103、调用预先缓存的第一视图界面,基于所述目标布局参数值在所述多媒体列表的上层展示所述第一视图界面,使得所展示的第一视图界面覆盖所述多媒体列表中的所述待播放的视频对象;其中,所述第一视图界面在缓存时对应的第一布局参数值能够使得所述第一视图界面处于不可见状态。

现有技术中,在对多媒体列表中的视频对象进行视频播放时,采用的是实时创建视图界面,并利用实时创建的视图界面对视频内容进行播放的方式,此种方式会因实时创建视图界面所存在的相对较高的耗时而易导致设备屏幕出现短暂黑屏,也即在开始播放视频时可能会出现屏幕闪烁的问题,为解决这一问题,本申请中,预先在一预定位置缓存第一视图界面,示例性而非限定性地,例如具体可在多媒体列表的父容器中缓存第一视图界面,且所缓存的该第一视图界面对应的第一布局参数值能够使得所述第一视图界面处于不可见状态,具体地,例如,在缓存所述第一视图界面时,可将所述第一视图界面设置为0宽0高等,以支持所述第一视图界面处于用户不可见的状态。

在此基础上,当需要对待播放的视频对象进行视频内容播放时,可从多媒体列表的父容器中直接调用预先缓存的所述第一视图界面,并将所述第一视图界面的布局参数重设为所述待播放的视频对象所需的目标布局参数值,例如将所述第一视图界面的宽高重设为所述待播放的视频对象所需的宽高值等,进而展示基于待播放的视频对象所需的目标布局参数值所布局的第一视图界面,并可利用该第一视图界面对待播放的视频对象的视频内容进行播放。

其中,在利用所述第一视图界面对待播放的视频对象的视频内容进行播放时,具体基于该待播放的视频对象在设备屏幕上所处的区域位置,将该第一视图界面覆盖在多媒体列表的该待播放的视频对象的视图区域上,也即,当多媒体列表中存在待播放的视频对象时,本质上是调用预先缓存的第一视图界面,并直接将该第一视图界面覆盖在多媒体列表中该待播放的视频对象的上层对该待播放的视频对象的视频内容进行播放。

本申请的该方式,由于通过直接调用已预先缓存的第一视图界面并对其进行布局参数的重设,即可实现利用该第一视图界面对待播放的视频对象进行内容播放,无需实时执行视图界面的复杂的创建过程,从而可节约视频播放时的处理时间,提升视频播放效率,进而可消除现有技术中创建视图界面时的短暂黑屏、屏幕闪烁问题。

步骤104、利用展示的第一视图界面以静音方式对所述视频对象进行播放控制。

具体实施中,可通过如下的处理过程,实现调用预先缓存的第一视图界面,并利用第一视图界面以静音方式对所述视频对象进行播放控制:

1)判断所述视频对象中是否存在音频焦点;

2)若存在,则释放所述视频对象中的音频焦点,并设置所述视频对象的播放音量为0;

3)重设播放器,以使得对所述播放器进行初始化;并将所述视频对象与所述播放器进行绑定;

4)利用重设后的所述播放器调用预先缓存的所述第一视图界面,并基于所述视频对象的目标布局参数值展示所述第一视图界面;

5)在所述第一视图界面中基于所设置的视频对象的播放音量以静音方式播放所述视频对象;

6)在所述视频对象符合预定的停止播放条件时,停止播放所述视频对象,并将所述第一视图界面重设为不可见状态。

其中,所述停止播放条件可以为如下情况中的至少一种:所述视频对象在设备屏幕上的可见比低于预定的可见比阈值,或者,所述多媒体列表的滑动速度不低于预定的速度阈值。

这里,需要说明的是,现有技术中,与在对列表中的视频对象进行视频播放时,采用的是实时创建视图界面,并利用实时创建的视图界面对视频内容进行播放的方式相对应,在对列表中的视频对象进行停止播放控制时,现有技术中具体采用的是销毁视图界面(surfacedestroyed)的方式,即通过销毁所播放的视频对象的视图界面,实现视频对象的停止播放,该方式会因销毁动作的耗时而易导致屏幕产生闪烁,而本申请通过将所述第一视图界面重设为不可见状态来实现视频对象的停止播放,可有效克服该问题,避免了停止播放视频时的闪烁。

根据以上方案可知,本实施例的视频播放方法,在检测到多媒体列表的滑动操作,并确定出所述多媒体列表中当前存在待播放的视频对象时,调用预先缓存的第一视图界面,并以所述视频对象所需的目标布局参数值展示所述第一视图界面,且利用展示的第一视图界面以静音方式对所述视频对象进行播放控制。由此可见,本申请方案实现了以静音方式对多媒体列表中的视频对象进行播放,可有效提升列表视频推荐场景中的用户播放体验,且由于利用预先缓存的视图界面对视频对象进行播放控制,从而,在播放视频对象时无需实时执行复杂的视图界面创建操作,提升了视频对象的播放效率并可有效消除视频对象开始播放时的屏幕闪烁问题。

本申请中,在以所述视频对象的目标布局参数值展示所述第一视图界面,并利用展示的第一视图界面播放所述视频对象时所述第一视图界面不提供可用的播放控件,在此基础上,与上述实施例中的视频播放方法相区别,参考图2示出的本申请的视频播放方法实施例二的流程图,在本申请的实施例二中,所述视频播放方法还可以包括如下步骤:

步骤105、获得用户对所述视频对象的详情播放请求,以预定方式播放所述视频对象的详情视频内容,并在播放所述详情视频内容的过程中,向用户提供可用的播放控件。

多媒体列表中的视频预告片或宣传片等视频对象的展示时长一般较短,从而没有必要展示播放控件,鉴于此,本申请在以所述视频对象的目标布局参数值展示所述第一视图界面,并利用展示的第一视图界面播放所述视频对象时所述第一视图界面不提供可用的播放控件,该方式还可实现较好的视频引流效果。

当用户对第一视图界面上播放的视频对象存在详情播放需求从而需进一步观看其详情视频内容时,可进一步触发针对该视频对象的详情播放请求,响应于该请求设备会以预定方式播放(如全屏播放等)所述视频对象的详情视频内容,并在播放所述详情视频内容的过程中,向用户提供可用的播放控件,如暂停、快进、快退、播放进度展示等各种控件,可有效满足用户对所播放的视频对象详情内容的各种控制需求,同时也实现了较好的视频引流效果。

与上述实施例中的视频播放方法相对应,本申请还提供了一种视频播放装置,参考图3,是本申请提供的一种视频播放装置实施例三的结构示意图,如图3所示,该装置包括:

确定单元301,用于在检测到多媒体列表的滑动操作的情况下,确定所述多媒体列表中当前是否存在待播放的视频对象;

获取单元302,用于在存在待播放的视频对象情况下,获取所述视频对象所需的目标布局参数值;

调用及展示单元303,用于调用预先缓存的第一视图界面,基于所述目标布局参数值在所述多媒体列表的上层展示所述第一视图界面,使得所展示的第一视图界面覆盖所述多媒体列表中的所述待播放的视频对象;其中,所述第一视图界面在缓存时对应的第一展示参数值能够使得所述第一视图界面处于不可见状态;

播放控制单元304,用于利用展示的第一视图界面以静音方式对所述视频对象进行播放控制。

在本申请实施例的一实施方式中,所述确定单元301,具体用于:利用预定的滚动监听方法监听所述多媒体列表的滑动过程,以确定所述多媒体列表中当前处于设备屏幕区域的视频对象;判断所述视频对象是否满足预定的播放条件;若满足,则确定所述视频对象为当前待播放的视频对象。

在本申请实施例的一实施方式中,所述调用及展示单元303,调用预先缓存的第一视图界面,具体包括:调用所述多媒体列表的父容器中预先缓存的第一视图界面。

在本申请实施例的一实施方式中,所述播放控制单元304,具体用于:

判断所述视频对象中是否存在音频焦点;若存在,则释放所述视频对象中的音频焦点,并设置所述视频对象的播放音量为0;重设播放器,以使得对所述播放器进行初始化;并将所述视频对象与所述播放器进行绑定;利用重设后的所述播放器调用预先缓存的所述第一视图界面,并基于所述所述视频对象的目标布局参数值展示所述第一视图界面;在所述第一视图界面中基于所设置的视频对象的播放音量以静音方式播放所述视频对象;在所述视频对象符合预定的停止播放条件时,停止播放所述视频对象,并将所述第一视图界面重设为不可见状态。

在本申请实施例的一实施方式中,在以所述视频对象的目标布局参数值展示所述第一视图界面,并利用展示的第一视图界面播放所述视频对象时所述第一视图界面不提供可用的播放控件;在此基础上,所述播放控制单元304,还可以用于:获得用户对所述视频对象的详情播放请求,以预定方式播放所述视频对象的详情视频内容,并在播放所述详情视频内容的过程中,向用户提供可用的播放控件。

对于本申请实施例三公开的视频播放装置而言,由于其与实施例一至实施例二公开的视频播放方法相对应,所以描述的比较简单,相关相似之处请参见实施例一至实施例二中视频播放方法部分的说明即可,此处不再详述。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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