ios視訊播放器封裝(全屏播放,鎖屏、手勢調節亮度、音量、進度)
阿新 • • 發佈:2019-02-11
今天給大家帶來的是一個基於AVplayer封裝的視訊播放器,支援視訊全屏播放、手勢加減音量,快進後退、調節螢幕亮度、定位視訊播放暫停時刻、實際觀看時間、全屏播放鎖屏等功能。如果需要的話希望能幫到你 , 當然, 有任何不妥的地方 歡迎指正。喜歡的可以關注下我的部落格、我的簡書
附上效果圖用法:
一、下載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,如果在使用過程中遇到什麼問題,可以在下方評論