AVPlayerViewController (tvOS) 不会在 viewWillDisappear 上暂停

AVPlayerViewController (tvOS) doesn't pause on viewWillDisappear

我有几个AVPlayerViewControllers设置为一个UITabBarControllerViewControllers。我想要的是当用户切换到另一个选项卡(这是另一个 AVPlayerViewController)时,当前可见 AVPlayerViewController 的视频自动暂停播放

我试过这种方法:

override func viewWillDisappear(animated: Bool) {
    player?.pause()

    super.viewWillDisappear(animated)
}

但视频只是在背景中保留 运行。 (音频至少仍然 运行)调试器说播放器 属性 在 vi​​ewWillDisappear 中不为零。我已经尝试过隐式和强制解包,但无济于事。

我能够确定问题所在。似乎您不能在 viewWillDisappear 中暂停,在 pause()player?.rate = 0.0 中都无法暂停。所以为了防止你的视频在后台播放,你必须在viewWillDisappear中将AVPlayerViewControllerplayer属性设置为nil。 遗憾的是,这意味着您必须编写一些代码来保存播放状态。

对我来说似乎有点像一个错误,希望以后能得到修复。