AVPlayer пауза не работает TVOS
Я делаю приложение TOSOS. У меня есть две вкладки A
а также B
в моем приложении. Пусть скажем видео играет во вкладке A
в вк. Я хочу приостановить текущее воспроизведение видео, когда я переключаю вкладки с A->B
, Я делаю это в viewWillDisappear
но видео только останавливается в первый раз. Когда я переключаю вкладки B->A
снова и нажмите кнопку воспроизведения на пульте телевизора, он играет, но если я снова попробую переключить вкладки A->B
видео продолжается и не останавливается.
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
avplayerVC?.player?.rate = 0.0
print("Player Playing Rate : ", "\(avplayerVC?.player?.rate)")
}
Я использую метод avPlayer.pause() и avPlayer.rate = 0.0, чтобы остановить его, но ни один из них не работает каждый раз.
Журнал говорит, что Player Playing Rate : Optional(0.0)
, но видео на самом деле не делает пауз. Вот мой полный код.
class PlayViewController : UIViewController {
var avplayerVC : AVPlayerViewController?
var videoUrlStr : String?
override func viewDidLoad() {
super.viewDidLoad()
print("In PlayViewController View Did Load")
avplayerVC = AVPlayerViewController()
let avAsset = AVAsset(URL: NSURL.init(string: videoUrlStr!)!)
let avPlayerItem = AVPlayerItem(asset: avAsset)
avplayerVC?.player = AVPlayer(playerItem: avPlayerItem)
avplayerVC?.player?.seekToTime(kCMTimeZero)
print("Status 1: " + "\(avplayerVC?.player?.status.rawValue)")
print(self.view?.frame)
// doesn't work
avplayerVC?.view.frame = self.view.frame
self.view.addSubview((avplayerVC?.view!)!)
avplayerVC?.player?.play()
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
print("Changing rate")
avplayerVC?.player?.rate = 0.0
print("Player Playing Rate : ", "\(avplayerVC?.player?.rate)")
}
}
Любая помощь будет высоко оценена.
1 ответ
У меня была такая же проблема с AVPlayerViewController
Может быть, мой ответ поможет вам: здесь