如今是視覺時代,視訊需要用播放器播放,播放器又需要各種大小來滿足大衆的需要,那麼iOS中的播放器又是怎麼實作的呢,今天我就結合例子學習學習。
先簡單了解下AVPlayer
1.支援視訊格式: WMV,AVI,MKV,RMVB,RM,XVID,MP4,3GP,MPG …(系統要求當然是蘋果的了)
2.支援音頻格式: MP3,WMA,RM,ACC,OGG,APE,FLAC,FLV…
3.支援外部字幕: smi,srt,ass,sub,txt…
在實作視訊可以播放的情況下全屏的概念每個人都應該首先想改變他的大小就可以了,然後再選擇填充,如果隻是簡單的讓playLayerView的的frame變成螢幕大小,那麼周圍會出現一些缺失,也就是周圍有空缺,這時候就用填充,然後還要記住支援橫屏的設定
一,先來初始化一個播放器,導入AVFoundation架構,單純使用AVPlayer類就會發現他根本不鳥你,要将視訊層添加至AVPlayerLayer中,這樣才能将視訊顯示出來。
二,MediaPlayer的影片是放在UIView 裡面,而預設的layer是CALayer,AVPlayer必須是放在AVPlayerLayer裡面,AVPlayerLayer是CALayer 的子類別,這樣就可以layer了。
例子:
*********
添加一個視訊檔案到bundle裡面
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"zhaoritian" ofType:@"mp4"];
NSURL *url = [NSURL fileURLWithPath:filePath];
**********
初始化player,并将它放入avPlayerlayer裡面
_player = [[AVPlayer alloc] initWithURL:_localurl];
_avPlayerlayer = [AVPlayerLayer playerLayerWithPlayer:_player];
_avPlayerlayer.frame = self.view.layer.bounds;
**********
視訊填充
_avPlayerlayer.videoGravity=AVLayerVideoGravityResizeAspect;
***********
視訊支援左右旋轉
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
***********
調用方法play和pause進行播放和暫停
[self play];
[self pause];