使用 AVPlayer 播放的视频在 swift3 中从其容器视图中消失

Video played using AVPlayer disappears from its container view in swift3

我正在使用 AVPlayer 播放视频。我在要播放视频的 UIView 上使用 CALayer 的 addSubLayer 方法。一切正常,但是当我在后台发送应用程序然后再次将应用程序带回前台时,视频消失了(视频持续时间仅为 1 秒)。在我在后台发送 App 之前,视频(即使它已播放完毕)仍保留在容器视图中,我们可以看到它。但是一旦我做背景,然后做 App 的前景,video/may 层就消失了。

非常感谢您的帮助。谢谢。

请为应用设置观察者Background/Foreground。当您的应用程序从后台转到前台时,然后在您的 Observer 方法中插入以下代码。

playerLayer = AVPlayerLayer(player: avPlayer)
view.layer.insertSublayer(playerLayer, at: 0)

当您将应用置于前台时,您似乎希望视频的最后一帧保持在容器视图中。

请将 AVPlayer 对象的 actionAtItemEnd 属性 设置为

AVPlayerActionAtItemEnd.pause 选项。这将在播放器播放完视频时暂停视频,并将图层保留在您的容器视图中。