非常感谢大家利用自己宝贵的时间来阅读我的文章 , 今天给大家带来的是一个基于AVplayer封装的视频播放器,支持视频全屏播放、手势加减音量,快进后退、调节屏幕亮度、定位视频播放暂停时刻、实际观看时间、全屏播放锁屏等功能。如果需要的话希望能帮到你 , 当然, 有任何不妥的地方 欢迎指正。喜欢的可以关注一下我的简书、我的博客
想直接下demo的请点击这里ZQAvPlayerDemo
先附上效果图
用法:
一、下载ZQAvPlayerDemo,把项目中的ZQAvPlayer文件夹和UINavigationController+Rotation拖入你的项目中,这里需要注意一下,如果你项目了已经使用了MBProgressHUD,要把ZQAvPlayer里的MBProgressHUD删了,还有就是注意一下项目里原来有没有控制屏幕旋转的方法,防止冲突。
二、在视频播放控制器里引用"ZQAVPlayer.h"和"UINavigationController+Rotation.h"头文件,声明一个ZQAVPlayer类型的player
然后在viewDidLoad做初始化
if (_player == nil) {
_player = [[ZQAVPlayer alloc] initWithFrame:CGRectMake(0, 20, ScreenWidth, titleImgHeight) url:@"http://27.112.86.59:1935/vod1//2017_11/22/1511344230826.mp4" type:player_online];
_player.delegate = self;
[self.view addSubview:_player];
}
在viewWillAppear开始播放视频
[_player play];
在viewWillDisappear方法里面记得要暂停播放
if (_player.currentPlayState == playState_Playing) {
[_player pause];
}
添加锁屏功能支持,实现下面方法就行了
- (BOOL)shouldAutorotate {
if (_player.locked) {
return true;
}else{
return false;
}
}
在进入全屏代理方法里添加如下代码
-(void)go2FullScreen
{
[_player showBackBtn:true];
[self.view addSubview:_player];
NSLog(@"全屏");
}
切换视频:
[_player changeVideoUrl:@""];
主要代理方法
/**
返回按钮点击
*/
-(void)playerBackBtnClicked;
/**
播放结束
*/
-(void)playerEnd;
/**
进入全屏
*/
-(void)go2FullScreen;
/**
退出全屏
*/
-(void)exitFullScreen;
/**
屏幕方向改变
*/
-(void)OrienrationChanged:(UIDeviceOrientation)orientation;
/**
开始播放
@param seconds 开始播放位置(秒)
*/
-(void)playerStartPlay:(NSInteger)seconds;
/**
播放中断
@param seconds 中断播放位置(秒)
*/
-(void)breakEventBecome:(NSInteger)seconds;
/**
切换地址
*/
-(void)changeEventBecome;
/**
播放出错
*/
-(void)errorEventBecome;
到这里基本上就可以满足视频播放的需要了,感兴趣的看看相关功能的实现方法,使用的时候可以参考demo,如果在使用过程中遇到什么问题,可以在下方评论