AVPlayer播放本地视频,代码如下
NSURL *videoURL = [NSURL fileURLWithPath:fullPath];
AVPlayer *player = [AVPlayer playerWithURL:videoURL];
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
playerLayer.frame = self.view.bounds;
[self.view.layer addSublayer:playerLayer];
[player play];
本地视频的加载很简单,可以直接构造出AVPlayer,自把AVPlaerLayer绑定到player上,就可以完成播放。
注意点
1.path必须带有后缀,eg:.mp4不然加载不出来,报一个无法解析的错误
2.playerLayer直接加载控制器的view.layer上的时候,view就这一个子图层,需要配置一下view的背景颜色,不然系统会把view的Alpha设为0;导致事件传不出去。
对于注意点2,后面用一个view去承载playerLayer,事件一样传不出去,只是注意到一点转场的view的背景色和view的背景色都是黑色,感觉是系统的一种优化策略来减少绘制吧。