【发布时间】:2018-01-29 21:06:37
【问题描述】:
我有一个应用,我希望视频在单个视图的背景中播放。
我所做的是创建一个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
现在视频开始播放了,只是它没有填满整个屏幕。它会填充原始大小,但不会拉伸/缩放。
我错过了什么吗?为什么我的视频没有调整大小?
谢谢。
编辑:
我添加了一个屏幕截图并将视图设为紫色以便于参考。
【问题讨论】:
-
您能否发布一个屏幕截图以便更好地理解?
-
@andrehungaro 已添加
-
这段代码放在哪里?尝试在 viewDidLayoutSubviews() 中定义 playerLayer.frame。我猜在您定义帧时,尚未计算视图的最终帧。
-
@andrehungaro 今日英雄!您能否将其作为答案,以便我投票并接受?谢谢!