iOS 視頻播放(AVPlayer、MPMoviePlayerController、MPMoviePlayerViewController 區(qū)別)

//聯(lián)系人:石虎QQ: 1224614774昵稱:嗡嘛呢叭咪哄

一、AVPlayer介紹

1.能播放本地、遠(yuǎn)程的音頻、視頻文件

2.基于Layer顯示,得自己去編寫(xiě)控制面板

3.AVPlayer(遠(yuǎn)程?音樂(lè)/播放視頻)—>添加layer

4.可以播放遠(yuǎn)程視頻(需要通過(guò)添加layer來(lái)顯示視頻)

代碼實(shí)現(xiàn)

#pragma mark -懶加載代碼

- (AVPlayer *)player

{

if(_player ==nil) {

// 1.獲取URL(遠(yuǎn)程/本地)

// NSURL *url = [[NSBundle mainBundle] URLForResource:@"01-知識(shí)回顧.mp4" withExtension:nil];

NSURL *url = [NSURL URLWithString:@"http://v1.mukewang.com/a45016f4-08d6-4277-abe6-bcfd5244c201/L.mp4"];

// 2.創(chuàng)建AVPlayerItem

AVPlayerItem *item = [AVPlayerItem playerItemWithURL:url];

// 3.創(chuàng)建AVPlayer

_player = [AVPlayer playerWithPlayerItem:item];

// 4.添加AVPlayerLayer

AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:self.player];

layer.frame = CGRectMake(0,0,self.view.bounds.size.width,self.view.bounds.size.width *9/16);

[self.view.layer addSublayer:layer];

}

return_player;

}

二、MPMoviePlayerController介紹

1.能播放本地、遠(yuǎn)程的音頻、視頻文件

2.自帶播放控制面板(暫停、播放、播放進(jìn)度、是否要全屏)

3.MPMoviePlayerController—>給.view設(shè)置frame,將這個(gè)view 添加到某?一個(gè)View

代碼實(shí)現(xiàn)

#import

#pragma mark -懶加載代碼

- (MPMoviePlayerController *)playerController

{

if(_playerController ==nil) {

// 1.獲取視頻的URL

NSURL *url = [NSURL URLWithString:@"http://v1.mukewang.com/19954d8f-e2c2-4c0a-b8c1-a4c826b5ca8b/L.mp4"];

// 2.創(chuàng)建控制器

_playerController = [[MPMoviePlayerController alloc] initWithContentURL:url];

// 3.設(shè)置控制器的View的位置

_playerController.view.frame = CGRectMake(0,0,self.view.bounds.size.width,self.view.bounds.size.width *9/16);

// 4.將View添加到控制器上

[self.view addSubview:_playerController.view];

// 5.設(shè)置屬性

_playerController.controlStyle = MPMovieControlStyleNone;

}

return_playerController;

}

三、MPMoviePlayerViewController介紹

1.能播放本地、遠(yuǎn)程的音頻、視頻文件

2.內(nèi)部是封裝了MPMoviePlayerController

3.播放界面默認(rèn)就是全屏的

4.如果播放功能比較簡(jiǎn)單,僅僅是簡(jiǎn)單地播放遠(yuǎn)程、本地的視頻文件,建議用這個(gè)

5.MPMoviePlayerViewController(modal出來(lái),?自動(dòng)播放,?一定全 屏播放)

代碼實(shí)現(xiàn)

#import

#pragma mark -懶加載

- (MPMoviePlayerViewController *)playerVc

{

if(_playerVc ==nil) {

NSURL *url = [NSURL URLWithString:@"http://v1.mukewang.com/a45016f4-08d6-4277-abe6-bcfd5244c201/L.mp4"];

_playerVc = [[MPMoviePlayerViewController alloc] initWithContentURL:url];;

}

return_playerVc;

}

- (IBAction)play {

[selfpresentMoviePlayerViewControllerAnimated:self.playerVc];

}

謝謝!!!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容