iOS视频播放解决方案

2016-12-21 王建伟 iOS开发

此文章主要讲解项目中视频播放测试过程中遇到的问题,解决方案以及视频播放功能的封装DEMO;

1.整个应用的要求是竖屏,但是在视频播放界面要求可以转动屏幕

解决方案1:设置全局无法转动,仅支持竖屏,在视频界面时候检测屏幕转动,然后旋转重置视频界面视图

注册检测屏幕旋转通知:[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientChange:) name:UIDeviceOrientationDidChangeNotification object:nil];

实现方法:

此方案需要在界面布局上下文章,试图旋转后控件的布局需要调整,而且存在一个问题,状态栏旋转方法没有找到,只能在横屏的时候隐藏状态栏,好处是整个app都旋转状态不需要调整,不会对其他界面布局造成影响

补充:状态栏风格调整和隐藏方法,在控制器中重写方法

风格调整(黑色和白色)-(UIStatusBarStyle)preferredStatusBarStyle{

1.return UIStatusBarStyleLightContent;//白色

2.return UIStatusBarStyleDefault;//黑色

}

隐藏:-(BOOL)perfersStatusHidden{

return YES;//隐藏

return NO;//不隐藏

}

方案2:在AppDelegate中设置界面是否旋转,在视频界面的时候改变参数让应用可旋转,然后当视频界面消失时候再将参数改回来让应用不可旋转

在AppDelegate中重写方法:

_allowRotation 是AppDelegate的属性,方便改变选装状态

然后在视频控制器-(void)viewDidLoad方法中,将allowRotation设置成 1

再在视频控制器-(void)dealloc方法中,将allowRotation重新设置成 0

重写方法-(void)viewWillLayoutSubviews来检测屏幕转动,并且刷新界面布局

注意在点击返回键的时候,当屏幕处于横屏状态的时候需要将横屏变成竖屏,不让其他界面布局会受到影响

下面附上个人封装的视频播放功能:

网站备案号:京ICP备11043289号-1 北京市公安局网络备案 海1101084571
版权所有 北京育灵童科技发展有限公司 Copyright © 2002-2018 www.elight.cn, All Rights Reserved