AVPlayerViewController (tvOS) не останавливается на viewWillDisappear

У меня есть несколько AVPlayerViewControllers установить как ViewControllers из UITabBarController, То, что я хочу, это иметь видео в настоящее время видимым AVPlayerViewController автоматически приостанавливать воспроизведение, когда пользователь переключается на другую вкладку (которая является другой AVPlayerViewController)

Я попробовал этот подход:

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

    super.viewWillDisappear(animated)
}

но видео просто продолжает работать в фоновом режиме. (аудио все еще работает, по крайней мере). Отладчик говорит, что свойство player не равно nil в viewWillDisappear. Я уже пытался безоговорочно и принудительно распаковывать, но безрезультатно.

1 ответ

Решение

Я смог определить проблему. Кажется, что вы не можете сделать паузу в viewWillDisappearни с pause() ни с player?.rate = 0.0, Поэтому, чтобы ваше видео не воспроизводилось в фоновом режиме, вы должны установить AVPlayerViewController"s player свойство ноль в viewWillDisappear, К сожалению, это означает, что вы должны написать некоторый код для сохранения вашего состояния воспроизведения.

Для меня это похоже на ошибку, надеюсь, это будет исправлено позже.

Другие вопросы по тегам