一:引入框架
//导入音视频框架
#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>
二:设置对应的属性
//音视频
@property (nonatomic,strong)AVPlayer *player;
//音视频控制器
@property (nonatomic,strong)AVPlayerViewController *playerVC;
三:配置
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// 网址字符串
NSString *playerStr = @"http://static.tripbe.com/videofiles/20121214/9533522808.f4v.mp4";
// 网址
NSURL *playerURL = [NSURL URLWithString:playerStr];
// 初始化音视频控制器
self.playerVC = [[AVPlayerViewController alloc] init];
// 视频链接
AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithURL:playerURL];
// 初始化音视频
self.player = [[AVPlayer alloc] initWithPlayerItem:playerItem];
// 初始化音视频的播放层layer
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];
// layer的frame
playerLayer.frame = CGRectMake(0, 100, self.view.frame.size.width, 300);
// 设置提示(可设置layer的背景等)
// 设置视频填充模式(AVLayerVideoGravityResize,等比例全部填充播放)
playerLayer.videoGravity = AVLayerVideoGravityResize;
// 音视频的layer层添加到视图上
[self.view.layer addSublayer:playerLayer];
// 设置音视频为音视频控制器的内部音视频
self.playerVC.player = self.player;
// 关闭音视频控制器的内部约束,设置为自动布局
/**
默认情况下,autoresizing面具一个视图产生约束完全确定视图的位置。这允许自动布局系统跟踪的框架意见布局是手动控制(例如,通过-setFrame:)。当你选择使用自动布局位置视图通过添加自己的约束,你必须设置该属性。IB会为你这样做。
*/
self.playerVC.view.translatesAutoresizingMaskIntoConstraints = YES;
}
四:显示音视频控制器
//点击空白
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
// 显示音视频控制器
[self showViewController:self.playerVC sender:nil];
}
注意设置网络:将HTTPS退回HTTP
屏幕快照 2016-07-30 16.09.38.png