AVPlayer 簡單實現示例(一)

提早準備:網絡

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

相關文章
相關標籤/搜索