iOS 視頻播放

1、AVPlayerios

ios9以後的改變棄用了:MPMoviePlayerViewController(框架:MediaPlayer),新加入了:AVPlayerViewController(框架:AVFoundation )。網絡

  1. AVPlayerItem音視頻裏面播放的對象app

  2. AVPlayerLayer播放顯示視頻的圖層界面(圖層比起view不能添加響應事件)框架

  3. AVPlayerViewController視圖控制器能夠顯示視頻,而且調節控件
    url

注意:AVPlayer用來播放音視頻(必須與AVPlayerLayer配合使用),才能夠達到有聲有形的效果。code

使用說明:視頻

    //1.建立一個網絡播放地址
    NSURL *url = [NSURL URLWithString:@"http://dazhao.sinaapp.com/lovetosa/abc.mp4"];
    // 2.建立AVPlayerItem
    AVPlayerItem *item = [AVPlayerItem playerItemWithURL:url];
    // 3.建立AVPlayer
    _player = [AVPlayer playerWithPlayerItem:item];
    // 4.添加AVPlayerLayer
    AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:self.player];
    layer.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.width * 9 / 16);
    
    [self.view.layer addSublayer:layer];
    //播放
//  [_player play];

2、AVPlayerViewController對象

使用說明:事件

   //1.建立控制器
    AVPlayerViewController *playerVC = [[AVPlayerViewController alloc] init];
    //2.得到視頻的URL
    NSURL *url = [NSURL URLWithString:@"http://dazhao.sinaapp.com/lovetosa/abc.mp4"];
    //3.建立播放類
    AVPlayer *player = [[AVPlayer alloc] initWithURL:url];
    //4.對播放控制器賦值
    playerVC.player = player;
    //5.彈出控制器
    [self presentViewController:playerVC animated:YES completion:nil];
    //6.開始播放  注意:player必須手動調用, 纔會播放視頻
    [playerVC.player play];

3、MPMoviePlayerController(播放視圖類)ios9

用MPMoviePlayerController(須要導入MediaPlayer.Framework),MPMoviePlayerController,簡單易用,經過通知監聽狀態,添加到View上;

這是一種經過在某個View上加載這個播放視圖,實現播放視頻的效果。

注意:MPMoviePlayerController在全屏播放的時候會默認隱藏狀態欄,因此須要在全屏結束的時候代碼手動顯示狀態欄,不然導航欄會出現20點的空白。

使用說明:

   // 1.獲取視頻的URL
    NSURL *url = [NSURL URLWithString:@"http://dazhao.sinaapp.com/lovetosa/abc.mp4"];
    // 2.建立控制器
    _playerController = [[MPMoviePlayerController alloc] initWithContentURL:url];
    // 3.設置控制器的View的位置
    _playerController.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.width * 9 / 16);
    // 4.將View添加到控制器上
    [self.view addSubview:_playerController.view];
    // 5.設置屬性
//    _playerController.controlStyle = MPMovieControlStyleNone;
    //控制欄樣式
    /**
     MPMovieControlStyleNone,       沒有控制界面
     MPMovieControlStyleEmbedded,   嵌入的控制界面
     MPMovieControlStyleFullscreen,     全屏的控制界面
     */
    self.playerController.controlStyle = MPMovieControlStyleEmbedded;    // 默認
    //視頻拉伸模式
    /**
     MPMovieScalingModeNone,       沒有拉伸
     MPMovieScalingModeAspectFit,  保持比例拉伸
     MPMovieScalingModeAspectFill,   保持比例填充
     MPMovieScalingModeFill         拉伸填充
     */
    self.playerController.scalingMode = MPMovieScalingModeAspectFit; // 默認
    
    [_playerController play];


4、MPMoviePlayerViewController(播放控制器類)

這是一種經過彈出視頻控制器的方式實現視頻播放。

說用說明:

    // 1.獲取視頻的URL
    NSURL *url = [NSURL URLWithString:@"http://dazhao.sinaapp.com/lovetosa/abc.mp4"];
    //2.建立視頻播放控制器
    MPMoviePlayerViewController *vc = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
    //3.彈出視頻播放控制器
    [self presentViewController:vc animated:YES completion:nil];
相關文章
相關標籤/搜索