本发明涉及视频播放技术领域,具体说是一种视频全屏播放的方法。
背景技术:
随着便携设备性能的提高,以及4g网络的不断发展,人们出行时,已经习惯于使用便携设备欣赏高清晰度的多媒体资源,例如高清晰度的视频。
由于便携设备规格的限制,在竖向握持便携设备时,视频播放不能全屏,只占到屏幕区域的很小一部分,用户感受不佳。在将视频切换为全屏播放时,现有算法较为繁琐,需要将视频对应的视图转存到主窗口,再进行旋转、放大,操作繁琐,且某些情况下状态栏等处理不佳。或者:先隐藏无关的界面及控件,再对视频播放区域进行旋转、放大,同样存在操作繁琐的缺陷。
技术实现要素:
针对现有技术中存在的缺陷,本发明的目的在于提供一种视频全屏播放的方法,将视频切换为全屏播放的算法简单,效率高,系统资源占用少,利于提高开发效率,后期维护简单。
为达到以上目的,本发明采取的技术方案是:
一种视频全屏播放的方法,其特征在于,包括如下步骤:
当接收到视频播放切换指令后,先禁用自动旋转屏幕功能,
然后判断当前视频播放界面状态,
如果当前是横屏播放,则依次执行:
切换预处理,
播放界面转换为竖屏播放,
切换后期处理;
如果当前是竖屏播放,则依次执行:
切换预处理,
播放界面转换为横屏播放,
切换后期处理。
在上述技术方案的基础上,所述视频播放切换指令由用户主动操作发出该指令;
或:所述视频播放切换指令由app根据预设定的选项发出该指令。
在上述技术方案的基础上,播放界面转换为横屏播放是通过将播放界面置顶实现的。
在上述技术方案的基础上,播放界面转换为竖屏播放是通过将播放界面恢复到原播放窗口实现的。
在上述技术方案的基础上,当前视频播放界面状态,是根据设备可显示区域的面积大小,和当前视频播放区域的面积大小,二者的占比进行判断。
在上述技术方案的基础上,当前是横屏播放时,
所述切换预处理包括:获取视频竖屏播放的原始位置,以及相对于顶层窗口keywindows的位置;
所述播放界面转换为竖屏播放包括:将播放界面设置为视频竖屏播放的原始位置,并算出旋转角度及缩放比例;
所述切换后期处理包括:将需要播放的视频添加到竖屏播放初始化时生成的容器中,将需要续播的视频恢复到断点时间处。
在上述技术方案的基础上,当前是竖屏播放时,
所述切换预处理包括:存储当前视频竖屏播放的位置作为原始位置,存储竖屏播放初始化时生成的容器,生成顶层窗口keywindows,
以及相对于顶层窗口keywindows的位置;
所述播放界面转换为横屏播放包括:计算原始位置相对于顶层窗口keywindows的位置;
将需要播放的视频添加到顶层窗口keywindows中;
所述切换后期处理包括:算出视频全屏所需旋转角度及缩放比例;并按计算值执行视频的旋转及缩放。
本发明所述的视频全屏播放的方法,将视频切换为全屏播放的算法简单,效率高,系统资源占用少,利于提高开发效率,后期维护简单。
附图说明
本发明有如下附图:
图1本发明的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1所示,本发明所述的视频全屏播放的方法,包括如下步骤:
当接收到视频播放切换指令后,先禁用自动旋转屏幕功能,
然后判断当前视频播放界面状态,
如果当前是横屏播放,则依次执行:
切换预处理,
播放界面转换为竖屏播放,
切换后期处理;
如果当前是竖屏播放,则依次执行:
切换预处理,
播放界面转换为横屏播放,
切换后期处理。
在上述技术方案的基础上,所述视频播放切换指令由用户主动操作发出该指令;
或:所述视频播放切换指令由app根据预设定的选项发出该指令。
在上述技术方案的基础上,播放界面转换为横屏播放是通过将播放界面置顶实现的。
在上述技术方案的基础上,播放界面转换为竖屏播放是通过将播放界面恢复到原播放窗口实现的。
在上述技术方案的基础上,当前视频播放界面状态,是根据设备可显示区域的面积大小,和当前视频播放区域的面积大小,二者的占比进行判断。
在上述技术方案的基础上,当前是横屏播放时,
所述切换预处理包括:获取视频竖屏播放的原始位置,以及相对于顶层窗口keywindows的位置;
所述播放界面转换为竖屏播放包括:将播放界面设置为视频竖屏播放的原始位置,并算出旋转角度及缩放比例;
所述切换后期处理包括:将需要播放的视频添加到竖屏播放初始化时生成的容器中,将需要续播的视频恢复到断点时间处。
在上述技术方案的基础上,当前是竖屏播放时,
所述切换预处理包括:存储当前视频竖屏播放的位置作为原始位置,存储竖屏播放初始化时生成的容器,生成顶层窗口keywindows,
以及相对于顶层窗口keywindows的位置;
所述播放界面转换为横屏播放包括:计算原始位置相对于顶层窗口keywindows的位置;
将需要播放的视频添加到顶层窗口keywindows中;
所述切换后期处理包括:算出视频全屏所需旋转角度及缩放比例;并按计算值执行视频的旋转及缩放。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。