我有几个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。遗憾的是,这意味着你必须编写一些代码来保持你的播放状态。
对我来说似乎有点像一个bug,希望以后能解决。