非常感謝大家利用自己寶貴的時(shí)間來(lái)閱讀我的文章 , ?今天給大家?guī)?lái)的是一個(gè)基于AVplayer封裝的視頻播放器,支持視頻全屏播放稀余、手勢(shì)加減音量悦冀,快進(jìn)后退、調(diào)節(jié)屏幕亮度睛琳、定位視頻播放暫停時(shí)刻盒蟆、實(shí)際觀看時(shí)間踏烙、全屏播放鎖屏等功能。如果需要的話希望能幫到你 , 當(dāng)然, 有任何不妥的地方 歡迎指正历等。喜歡的可以關(guān)注一下我的簡(jiǎn)書讨惩、我的博客
想直接下demo的請(qǐng)點(diǎn)擊這里ZQAvPlayerDemo
先附上效果圖
用法:
一、下載ZQAvPlayerDemo寒屯,把項(xiàng)目中的ZQAvPlayer文件夾和UINavigationController+Rotation拖入你的項(xiàng)目中荐捻,這里需要注意一下,如果你項(xiàng)目了已經(jīng)使用了MBProgressHUD寡夹,要把ZQAvPlayer里的MBProgressHUD刪了处面,還有就是注意一下項(xiàng)目里原來(lái)有沒(méi)有控制屏幕旋轉(zhuǎn)的方法,防止沖突菩掏。
二魂角、在視頻播放控制器里引用"ZQAVPlayer.h"和"UINavigationController+Rotation.h"頭文件,聲明一個(gè)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開(kāi)始播放視頻
[_player play];
在viewWillDisappear方法里面記得要暫停播放
if (_player.currentPlayState == playState_Playing) {
[_player pause];
}
添加鎖屏功能支持智绸,實(shí)現(xiàn)下面方法就行了
- (BOOL)shouldAutorotate {
if (_player.locked) {
return true;
}else{
return false;
}
}
在進(jìn)入全屏代理方法里添加如下代碼
-(void)go2FullScreen
{
[_player showBackBtn:true];
[self.view addSubview:_player];
NSLog(@"全屏");
}
切換視頻:
[_player changeVideoUrl:@""];
主要代理方法
/**
返回按鈕點(diǎn)擊
*/
-(void)playerBackBtnClicked;
/**
播放結(jié)束
*/
-(void)playerEnd;
/**
進(jìn)入全屏
*/
-(void)go2FullScreen;
/**
退出全屏
*/
-(void)exitFullScreen;
/**
屏幕方向改變
*/
-(void)OrienrationChanged:(UIDeviceOrientation)orientation;
/**
開(kāi)始播放
@param seconds 開(kāi)始播放位置(秒)
*/
-(void)playerStartPlay:(NSInteger)seconds;
/**
播放中斷
@param seconds 中斷播放位置(秒)
*/
-(void)breakEventBecome:(NSInteger)seconds;
/**
切換地址
*/
-(void)changeEventBecome;
/**
播放出錯(cuò)
*/
-(void)errorEventBecome;
到這里基本上就可以滿足視頻播放的需要了野揪,感興趣的看看相關(guān)功能的實(shí)現(xiàn)方法,使用的時(shí)候可以參考demo瞧栗,如果在使用過(guò)程中遇到什么問(wèn)題斯稳,可以在下方評(píng)論