視頻播放
如何播放視頻
iOS提供了MPMoviePlayerController、MPMoviePlayerViewController兩個類,可以用來輕松播放視頻和網絡流媒體\網絡音頻
提示:網絡音頻同樣使用此控制器播放
YouTobe就是用MPMoviePlayerController實現的
MPMoviePlayerViewController只能全屏播放視頻
上述兩個類都定義在了MediaPlayer框架中
MPMoviePlayerController支持的格式
MPMoviePlayerController
繼承自NSObject
內部有個view可以展示視頻內容
將該視圖添加其他控制器的view上,即可顯示視頻內容
MPMoviePlayerController可以播放的視頻格式包括:
支持的文件擴展名包括:avi,mkv,mov,m4v,mp4等
可以從蘋果官網:http://support.apple.com/kb/HT1425下載一些用來測試的視頻文件,文件都比較小
提示:MPMoviePlayerController並不支持所有的視頻格式,如果要播放不支持的視頻格式,需要借助第三方框架進行解碼,如VLC
https://github.com/videolan/vlc
MPMoviePlayerController的使用
加載視頻資源(注意,如果url為nil同樣可以加載)
NSAssert(self.url, @"URL不能為空");
[[MPMoviePlayerController alloc] initWithContentURL:self.url];
顯示
[self.view addSubview:self.moviePlayer.view];
通過設置AutoresizingMask屬性可以在橫豎屏轉換時自動調整視圖大小
播放
[self.moviePlayer play];
全屏
[self.moviePlayer setFullscreen:YES animated:YES];
MPMoviePlayerController的播放狀態是通過通知中心監聽的
常用監聽通知事件
狀態變化
MPMoviePlayerPlaybackStateDidChangeNotification
播放結束
MPMoviePlayerPlaybackDidFinishNotification
退出全屏
MPMoviePlayerDidExitFullscreenNotification
截屏完成
MPMoviePlayerThumbnailImageRequestDidFinishNotification
截屏方法
-requestThumbnailImagesAtTimes:timeOption:
Q & A