Я чрезвычайно новичок в разработке Swift и iOS, поэтому, пожалуйста, простите мое невежество.Swift AVPlayerItem закрыть, когда закончил
Я пытаюсь, чтобы AVPlayer автоматически закрывался при воспроизведении видео. Я решил приложить прослушиватель «playerDidFinishPlaying» для получения уведомления, но как только я его найду, я не могу найти метод/событие для закрытия контроллера. Я хочу подражать действию нажатия кнопки «Готово».
Вот небольшой фрагмент кода. Надеюсь, этого достаточно. Если нет, то я могу предоставить дополнительную информацию
let destination = segue.destinationViewController as! AVPlayerViewController
let url = NSURL(string: "video url")
destination.player = AVPlayer(URL: url!)
destination.player?.play()
я добавил следующее уведомление, но опять же, я не уверен, что с ним делать, как только я его ...
NSNotificationCenter.defaultCenter().addObserver(self, selector: "playerDidFinishPlaying:",
name: AVPlayerItemDidPlayToEndTimeNotification,
object: destination.player!.currentItem)
func playerDidFinishPlaying(note:NSNotification){
print("finished")
// close window/controller
}
Наконец, я знаю, что мне нужно будет удалить наблюдателя, но я не уверен, когда и где это сделать. Любая помощь приветствуется.
Вы имеете в виду вы не можете сделать 'dismissViewControllerAnimated (правда, завершение: ноль)' 'внутри playerDidFinishPlaying'? Для удаления наблюдателя вы всегда можете поместить внутри 'deinit {}' – Breek
Довольно точно, это именно то, что я ищу. Благодаря! – twsmale
Я отправлю ответ, и вы можете отметить этот вопрос как ответ :) – Breek