iOS: внешний дисплей AVPlayerController прекращается выпуск - PullRequest
0 голосов
/ 28 декабря 2018

У меня та же проблема, что и в этом вопросе, но я не вижу, в чем я ошибаюсь.

Он все еще остается в последнем кадре видео на внешнем дисплее.

Приложение iOS Swift AVPlayerController отказывается работать на внешнем дисплее

К сожалению, у меня недостаточно очков репутации, чтобы прокомментировать другой вопрос.

Это так?потому что у меня нет AVPlayerItem?

let fourVideoViewController = AVPlayerViewController()    

@IBAction func fourVideoPlayButton(_ sender: Any) {

    let fourVideoURL = Bundle.main.url(forResource: "Four Animation", 
withExtension: "mov")!
    let fourPlayer = AVPlayer(url: fourVideoURL as URL)

    fourVideoViewController.player = fourPlayer

    NotificationCenter.default.addObserver(self, selector: 
#selector(playerDidFinishPlaying), name: 
NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: 
fourVideoViewController.player?.currentItem)

    self.present(fourVideoViewController, animated: true) {
        self.fourVideoViewController.player!.play()
    }
}


@objc func playerDidFinishPlaying(note: NSNotification) {

    fourVideoViewController.dismiss(animated: true, completion: nil)
    fourVideoViewController.view.removeFromSuperview()
    self.presentedViewController?.dismiss(animated: true, completion: nil)
}

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Попробуйте это

fourVideoViewController.removeFromParentViewController() fourVideoViewController.view.removeFromSuperview() self.presentedViewController?.dismiss(animated: true, completion: nil)

0 голосов
/ 28 декабря 2018

Можете ли вы попытаться уволить из своей функции playerDidFinishPlaying

self.navigationController?.popToRootViewController(animated: true)

ИЛИ

self.view.window!.rootViewController?.dismiss(animated: true, completion: nil)

...