本发明属于智能视频播放技术领域,特别涉及一种全局变速播放视频的方法及系统。
背景技术:
原生态的android系统平台视频播放流程由android多媒体框架层中的mediaplayer(android系统提供用于音视频播放的接口对象)执行,首先通过mediaplayer提供的setdatasource方法设置视频播放地址(url),然后由播放服务(mediaplayerservice)负责处理相应逻辑,再回调状态信息给视频应用(application)显示相关状态以及信息告知用户。
变速播放是相对于常规倍速(1倍速)播放而定义的,例如2倍速或者0.5倍速播放视频,满足用户不同速率观看视频的体验。
目前,有些厂商的视频应用(application)已支持应用内通过菜单键显示设置页面再切换变速播放按钮,直接给播放引擎设置相应的变速播放的值,但是没法通过遥控器按键直接操作。
另外,还有很多厂商的视频应用在系统平台支持的情况下还是不支持变速播放的功能,这在一定程度上影响了用户观看视频体验的统一性。
技术实现要素:
本发明的目的在于,针对上述现有技术的不足,提供一种全局变速播放视频的方法及系统,用户通过遥控器的按键操作等即可全局变速播放视频,有效地提升用户观看视频的体验。
为解决上述技术问题,本发明所采用的技术方案是:
一种全局变速播放视频的方法,其特点是包括以下步骤:
步骤a,用户启动系统平台上的任一视频播放应用;
步骤b,视频播放应用播放视频,同时创建mediaplayer对象并注册变速播放命令的监听服务;
步骤c,用户发出变速播放命令后,判断当前是否是视频播放场景,如果不是视频播放场景,则提示用户当前不在变速播放场景并退出;如果是视频播放场景,则跳转至步骤d;
步骤d,变速播放命令连同变速播放速率发送至正在等待接收变速播放命令的监听者;
步骤e,mediaplayer对播放服务设置所述变速播放速率,视频播放应用以变速播放速率播放视频。
进一步地,在步骤c中,如果当前是视频播放场景,则继续判断当前用户操作的视频播放应用是否允许操作变速播放,如果否,则提示当前视频播放应用不允许操作变速播放并退出;如果是,则跳转至步骤d。
进一步地,在步骤c中,如果当前用户操作的视频播放应用允许操作变速播放,则继续判断当前播放的视频是否小于设定值,如果是,则提示用户当前视频不支持变速播放功能并退出;如果否,则跳转至步骤d。
进一步地,在步骤c中,如果当前用户操作的视频播放应用允许操作变速播放,则继续判断当前播放的视频是否为直播视频流,如果是,则提示用户当前视频不支持变速播放功能并退出;如果否,则跳转至步骤d。
作为一种优选方式,mediaplayer通过setspeed方法对播放服务设置所述变速播放速率。
基于同一个发明构思,本发明还提供了一种全局变速播放视频的系统,其特点是包括:
启动单元:用于启动系统平台上的任一视频播放应用;
视频播放应用:用于播放视频;
创建单元:用于创建mediaplayer对象并注册变速播放命令的监听服务;
命令发出单元:用于发出变速播放命令和变速播放速率;
第一判断单元:用于判断当前是否是视频播放场景;
发送单元:用于将变速播放命令连同变速播放速率发送至正在等待接收变速播放命令的监听者;
设置单元:用于对播放服务设置变速播放速率。
进一步地,还包括第二判断单元:用于判断当前用户操作的视频播放应用是否允许操作变速播放。
进一步地,还包括第三判断单元:用于判断当前播放的视频是否小于设定值。
进一步地,还包括第四判断单元:用于判断当前播放的视频是否为直播视频流。
作为一种优选方式,所述命令发出单元包括遥控器上的变速播放按键和/或语音模块。
与现有技术相比,本发明具有以下有益效果:不论当前在播放哪家的视频应用,都可通过遥控器变速播放按键等下发变速播放命令,用户通过遥控器的按键操作等即可动态全局设置系统上所有视频播放应用的播放速度,实现系统中所有视频播放应用都能快速变速播放切换,有效地提升用户观看视频的体验。
附图说明
图1为本发明方法一实施方式流程图。
图2为本发明整体模块流程图。
具体实施方式
如图1所示,本发明所述的全局变速播放视频的方法包括以下步骤:
步骤a,用户启动系统平台上的任一视频播放应用。
步骤b,视频播放应用播放视频,同时创建mediaplayer对象并注册变速播放命令的监听服务。
步骤c,用户发出变速播放命令后(通过遥控器上的变速播放按键,或者通过语音下发变速播放命令),牛奶管家(牛奶盒子上的一个系统服务用于管理系统性能以及接受遥控器特殊按键)判断当前是否是视频播放场景,如果不是视频播放场景,则提示用户当前不在变速播放场景并退出;如果是视频播放场景,则继续判断当前用户操作的视频播放应用是否允许操作变速播放(有些视频应用可能不允许操作变速播放,因为倍速播放会消耗更多带宽资源),如果否,则提示当前视频播放应用不允许操作变速播放并退出;如果是,则继续判断当前播放的视频是否小于设定值(例如120s)或者是否为直播视频流,如果是,则提示用户当前视频不支持变速播放功能并退出;如果否,则跳转至步骤d。
步骤d,变速播放命令连同变速播放速率(例如2或者0.8等速率)发送至正在等待接收变速播放命令的监听者。
步骤e,mediaplayer通过setspeed方法对播放服务设置所述变速播放速率,视频播放应用以变速播放速率播放视频。从而实现通过遥控器全局变速播放的功能。
本发明所述的全局变速播放视频的系统包括:
启动单元:用于启动系统平台上的任一视频播放应用;
视频播放应用:用于播放视频;
创建单元:用于创建mediaplayer对象并注册变速播放命令的监听服务;
命令发出单元:用于发出变速播放命令和变速播放速率;
第一判断单元:用于判断当前是否是视频播放场景;
发送单元:用于将变速播放命令连同变速播放速率发送至正在等待接收变速播放命令的监听者;
设置单元:用于对播放服务设置变速播放速率。
第二判断单元:用于判断当前用户操作的视频播放应用是否允许操作变速播放。
第三判断单元:用于判断当前播放的视频是否小于设定值。
第四判断单元:用于判断当前播放的视频是否为直播视频流。
所述命令发出单元包括遥控器上的变速播放按键和语音模块。
本发明的整体模块流程图如图2所示,整个流程涉及遥控器的变速播放按键、牛奶管家(处理按键逻辑)、mediaplayer(android系统提供用于音视频播放的接口对象)、播放服务以及视频播放应用,通过全局监听变速键事件实现android系统平台上的全局动态快捷变速切换视频播放速率。
本发明中,硬件上,遥控器需要新增变速播放的按键;软件上,需要在android系统代码多媒体框架中添加监听变速播放的广播,等待接收命令,接收命令后将速率设置给播放服务实现变速播放。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是局限性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护范围之内。