之前很长一段时间都在做视频相关的项目,其中一个最基础最重要的功能就是播放时的横竖屏切换,于是乎研究对比了下市场上主要视频类APP的横竖屏切换方式。发现共分为两种,一种以优酷视频和土豆视频为代表,当横放手机时整个界面都旋转;另一种以腾讯视频,搜狐视频为代表,当横放手机时只是播放的小视图旋转,其余内容不变。实现方法分别如下。
切换方式1(同优酷视频)
controller支持横竖屏切换
控制整个controller的view支持横竖屏切换的几个方法
|
|
监测屏幕方向变化
添加监测屏幕方向变化的通知
|
|
屏幕方向变化时的处理
通知的回调方法中如下
|
|
强制切换
如果想强制播放器横屏或者竖屏播放,可以这样
|
|
切换方式2(同腾讯视频)
controller仅支持竖屏
此时控制整个controller的view仅支持默认的竖屏即可
|
|
监测屏幕方向变化
仍然添加监测屏幕方向变化的通知
|
|
屏幕方向变化时的处理
通知的回调方法中如下
|
|
强制切换
如果想强制播放器横屏或者竖屏播放,可以这样
|
|
完整版Demo请猛戳这里。