一、AVPlayer
ios9之后的改变弃用了:MPMoviePlayerViewController(框架:MediaPlayer),新加入了:AVPlayerViewController(框架:AVFoundation )。
AVPlayerItem音视频里面播放的对象
AVPlayerLayer播放显示视频的图层界面(图层比起view不能添加响应事件)
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];