提早准备:网络
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];