AVPlayerViewController (tvOS) 不会在 viewWillDisappear 上暂停
AVPlayerViewController (tvOS) doesn't pause on viewWillDisappear
我有几个AVPlayerViewControllers
设置为一个UITabBarController
的ViewControllers
。我想要的是当用户切换到另一个选项卡(这是另一个 AVPlayerViewController
)时,当前可见 AVPlayerViewController
的视频自动暂停播放
我试过这种方法:
override func viewWillDisappear(animated: Bool) {
player?.pause()
super.viewWillDisappear(animated)
}
但视频只是在背景中保留 运行。 (音频至少仍然 运行)调试器说播放器 属性 在 viewWillDisappear 中不为零。我已经尝试过隐式和强制解包,但无济于事。
我能够确定问题所在。似乎您不能在 viewWillDisappear
中暂停,在 pause()
和 player?.rate = 0.0
中都无法暂停。所以为了防止你的视频在后台播放,你必须在viewWillDisappear
中将AVPlayerViewController
的player
属性设置为nil。
遗憾的是,这意味着您必须编写一些代码来保存播放状态。
对我来说似乎有点像一个错误,希望以后能得到修复。
我有几个AVPlayerViewControllers
设置为一个UITabBarController
的ViewControllers
。我想要的是当用户切换到另一个选项卡(这是另一个 AVPlayerViewController
)时,当前可见 AVPlayerViewController
的视频自动暂停播放
我试过这种方法:
override func viewWillDisappear(animated: Bool) {
player?.pause()
super.viewWillDisappear(animated)
}
但视频只是在背景中保留 运行。 (音频至少仍然 运行)调试器说播放器 属性 在 viewWillDisappear 中不为零。我已经尝试过隐式和强制解包,但无济于事。
我能够确定问题所在。似乎您不能在 viewWillDisappear
中暂停,在 pause()
和 player?.rate = 0.0
中都无法暂停。所以为了防止你的视频在后台播放,你必须在viewWillDisappear
中将AVPlayerViewController
的player
属性设置为nil。
遗憾的是,这意味着您必须编写一些代码来保存播放状态。
对我来说似乎有点像一个错误,希望以后能得到修复。