AVPlayer 简单实现示例(一)

提前准备:

 1. 添加类库:CoreMedia.framework   AVFoundation.framework

 2. 添加视频到本地

 

 代码示例分析:

 1. 自定义一个继承自UIView 的类LYGView,重写方法加方法+(Class)layerClass,以获得一个AVPlayerLayer类型的layer,代码如下:

    +(Class)layerClass

    {

    return [AVPlayerLayer class];

    }

 2. 在viewController中,示例化一个LYGView类型的view,或者在xib中拉入一个view,在次view的属性栏第三项中将其父类设置为LYGView

    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];


你可能感兴趣的:(avplayer,AVPlayerLayer)