代码地址如下:
http://www.demodashi.com/demo/11168.html
一、运行效果
二、实现过程
①、创建播放器avPlayer
//创建播放器
url = [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
AVPlayer *player = [AVPlayer playerWithURL:[NSURL URLWithString:url]];
self.avPlayer = player;
②、创建显示屏_videoLayer
- (void)createDisplay{
// 显示图像的
_videoLayer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer];
//锚点的坐标
_videoLayer.position = CGPointMake(KPLAYVIEWWIDTH/2, KPLAYVIEWHEIGHT/2);
_videoLayer.bounds = CGRectMake(0, 0, KPLAYVIEWWIDTH, KPLAYVIEWHEIGHT);
// 锚点,值只能是0,1之间
_videoLayer.anchorPoint = CGPointMake(0.5, 0.5);
// AVLayerVideoGravityResizeAspect 按比例压缩,视频不会超出Layer的范围(默认)
// AVLayerVideoGravityResizeAspectFill 按比例填充Layer,不会有黑边
// AVLayerVideoGravityResize 填充整个Layer,视频会变形
// 视频内容拉伸的选项
_videoLayer.videoGravity = AVLayerVideoGravityResizeAspect;
// //播放时,视频实际占的区域
// NSLog(@"%@", NSStringFromCGRect(videoLayer.videoRect));
//Layer只能添加到Layer上面
[self.displayView.layer addSublayer:_videoLayer];
}
③、添加观察者和通知,用于监测更新视频播放的状态、进度、屏幕方向、状态栏属性、音量等等。
主要代码如下&#x