让AVPlayer填满整个屏幕

时间:2018-01-29 21:06:37

标签: ios swift avplayer

我有一个应用,我希望在单个视图的背景中播放视频。

我所做的是创建AVPlayer,将其添加到AVPlayerLayer并将其添加为我的视图的子图层。

然后我设置框架和videoGravity属性:

self.player = AVPlayer(url: URL(fileURLWithPath: path))
let playerLayer = AVPlayerLayer(player: self.player)
self.layer.addSublayer(playerLayer)
playerLayer.frame = self.bounds
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill

现在播放视频,但不会填满整个屏幕。它填充了原始尺寸,但不会拉伸/缩放。

我错过了什么吗?为什么我的视频没有调整大小?

感谢。

修改

我添加了截图并将视图设为紫色以便于参考。

Screenshot

2 个答案:

答案 0 :(得分:1)

如果您想要在整个视图上展开视频,只需删除该行

即可
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill

videoGravity默认值为AVLayerVideoGravityResize

答案 1 :(得分:1)

在viewDidLayoutSubviews()

中定义playerLayer.frame

在您定义帧时,尚未计算视图的最终帧。

相关问题