iOS 视频播放

一、AVPlayer

ios9之后的改变弃用了:MPMoviePlayerViewController(框架:MediaPlayer),新加入了:AVPlayerViewController(框架:AVFoundation )。

  1. AVPlayerItem音视频里面播放的对象

  2. AVPlayerLayer播放显示视频的图层界面(图层比起view不能添加响应事件)

  3. AVPlayerViewController视图控制器可以显示视频,并且调节控件

注意:AVPlayer用来播放音视频(必须与AVPlayerLayer配合使用),才可以达到有声有形的效果。

使用说明:

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

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

三、MPMoviePlayerController(播放视图类)

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


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

你可能感兴趣的:(ios,视频播放)