1. 程式人生 > >ios視訊播放器封裝(全屏播放,鎖屏、手勢調節亮度、音量、進度)

ios視訊播放器封裝(全屏播放,鎖屏、手勢調節亮度、音量、進度)

今天給大家帶來的是一個基於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,如果在使用過程中遇到什麼問題,可以在下方評論