提早準備:網絡
1. 添加類庫:CoreMedia.framework AVFoundation.frameworkurl
2. 添加視頻到本地視頻
代碼示例分析:對象
1. 自定義一個繼承自UIView 的類LYGView,重寫方法加方法+(Class)layerClass,以得到一個AVPlayerLayer類型的layer,代碼以下:繼承
+(Class)layerClassip
{get
return [AVPlayerLayer class];it
}io
2. 在viewController中,示例化一個LYGView類型的view,或者在xib中拉入一個view,在次view的屬性欄第三項中將其父類設置爲LYGViewclass
LYGView *view = [[LYGView alloc]initWithFrame:CGRectMake(0, 20, 320, 300)];
[self.view addSubview:view];
3. 獲取本地或者網絡路徑
本地路徑:(注意這裏聲稱URL時用的是fileURLWithPath:不是URLWithPath:)
NSString *itemPath = [[NSBundle mainBundle]pathForResource:@"bsm" ofType:@".mp4"];
NSURL *url = [NSURL fileURLWithPath:itemPath];
網絡路徑:
NSURL *url=[NSURL URLWithString:@"http://hot.vrs.sohu.com/ipad1484959.m3u8"];
4. 根據文件路徑,示例化視頻文件
AVPlayerItem *myAVPlayerItem = [AVPlayerItem playerItemWithURL:url];
5. 根據視頻文件,示例化播放器
myAVPlayer = [AVPlayer playerWithPlayerItem:myAVPlayerItem];
6. 根據步驟一示例化的LYGView類型的view,取出其layer賦值給一個AVPlayerLayer對象
AVPlayerLayer *myPlayerLayer = (AVPlayerLayer *)view.layer;
如果xib代碼以下
AVPlayerLayer *myPlayerLayer = (AVPlayerLayer *)self.myPlayerView.layer;
7. 將播放器 AVPlayer 置於 AVPlayerLayer 上顯示
[myPlayerLayer setPlayer:myAVPlayer];
8. 啓動播放器
[myAVPlayer play];