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