1一般的播放需求: 如果只是一般的視頻播放的話,并不需要暫鸵饶或者繼續(xù)播放什么的控制粱栖∶峙埃可以使用AVKit框架扩灯。這個(gè)框架里面只有一個(gè)類(lèi),然后一個(gè)代理方法霜瘪。AVPlayerViewControllerClass珠插,和AVPlayerViewControllerDelegate Protocol?。下面是使用方法以及播放效果
#pragma mark視頻
- (void)playMediawithSuperView:(UIView*)superView
{
//播放視頻
NSString*path =[[NSBundlemainBundle]pathForResource:@"startappvideo"ofType:@"mp4"];
NSURL*url = [NSURLfileURLWithPath:path];
_moviePlayerController= [[AVPlayerViewControlleralloc]init];
_moviePlayerController.player=[[AVPlayeralloc]initWithURL:url];
_moviePlayerController.view.frame= [superViewbounds];
[superViewaddSubview:_moviePlayerController.view];
_moviePlayerController.showsPlaybackControls=NO;//不會(huì)顯示播放時(shí)間播放開(kāi)始按鈕什么的
_moviePlayerController.player.actionAtItemEnd=AVPlayerActionAtItemEndNone;
[_moviePlayerController.playerplay];
}
效果圖如下
2 在iOS中播放視頻可以使用MediaPlayer.framework種的MPMoviePlayerController類(lèi)來(lái)完成颖对,它支持本地視頻和網(wǎng)絡(luò)視頻播放捻撑。這個(gè)類(lèi)實(shí)現(xiàn)了MPMediaPlayback協(xié)議,因此具備一般的播放器控制功能惜互,例如播放布讹、暫停琳拭、停止等训堆。但是MPMediaPlayerController自身并不是一個(gè)完整的視圖控制器,如果要在UI中展示視頻需要將view屬性添加到界面中白嘁。這個(gè)內(nèi)部有一個(gè)MPMoviePlayerController的視圖控制器就是MPMoviePlayerViewController坑鱼,它繼承于UIViewController。MPMoviePlayerViewController內(nèi)部多了一個(gè)moviePlayer屬性和一個(gè)帶有url的初始化方法絮缅,同時(shí)它內(nèi)部實(shí)現(xiàn)了一些作為模態(tài)視圖展示所特有的功能鲁沥,例如默認(rèn)是全屏模式展示、彈出后自動(dòng)播放耕魄、作為模態(tài)窗口展示時(shí)如果點(diǎn)擊“Done”按鈕會(huì)自動(dòng)退出模態(tài)窗口等画恰。
NSString *path = [[NSBundle mainBundle]pathForResource:@"startappvideo" ofType:@"mp4"];
NSURL *url = [NSURL fileURLWithPath:path];
moviePlayerController = [[MPMoviePlayerController alloc]init];
moviePlayerController.contentURL = url;
moviePlayerController.fullscreen=YES;
moviePlayerController.controlStyle=MPMovieControlStyleFullscreen;
moviePlayerController.view.frame = self.view.bounds;
[self.view addSubview:moviePlayerController.view];
[moviePlayerController play];
MPMoviePlayerController足夠強(qiáng)大,幾乎不用寫(xiě)幾行代碼就能完成一個(gè)播放器吸奴,但是正是由于它的高度封裝使得要自定義這個(gè)播放器變得很復(fù)雜允扇,甚至是不可能完成缠局。例如有些時(shí)候需要自定義播放器的樣式,那么如果要使用MPMoviePlayerController就不合適了考润,如果要對(duì)視頻有自由的控制則可以使用AVPlayer狭园。AVPlayer存在于AVFoundation中,它更加接近于底層糊治,所以靈活性也更強(qiáng)唱矛。