ios - AVPlayerItemDidPlayToEndTimeNotification 未触发

标签 ios swift avplayer avplayerviewcontroller

我正在使用 AVPlayer 从 url 播放视频。 AVPlayerItemDidPlayToEndTimeNotification 未触发。我已经把断点检查了。下面是我的代码片段:-

    @IBAction func playButtonClicked(sender: UIButton) {
    let url:NSURL = NSURL(string: self.currentSelectedContent.link)!
    moviePlayer = AVPlayer(URL: url)
    playerViewController = AVPlayerViewController()
    playerViewController.player = moviePlayer

    self.presentViewController(playerViewController, animated: true) {
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "moviePlayBackFinished", name: AVPlayerItemDidPlayToEndTimeNotification, object: self.moviePlayer)
        self.playerViewController.player?.play()
    }

}

func moviePlayBackFinished() {
    self.playerViewController.dismissViewControllerAnimated(true, completion: nil)
}

最佳答案

根据文档,观察对象必须是 AVPlayerItem 实例,而不是 AVPlayer 本身。尝试将 self.movi​​ePlayer 更改为 self.movi​​ePlayer.currentItem

关于ios - AVPlayerItemDidPlayToEndTimeNotification 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33871179/

相关文章:

ios - react native 性能监视器

ios - flutter:如果 app delegate swizzling 被禁用,UIApplicationDelegate 收到的远程通知需要转发到 FIRAuth 的

ios - 将数据从 AppDelegate 传递到 ViewController

ios - Airplay 与 AVQueuePlayer 有差距

ios - 如何为 iOS 应用程序实现 iOS 自动续订订阅收据验证

ios - UITableView 拉动刷新导致闪烁。如何预防?

iphone - 如何在多个 View 和恢复控件中使用AVPlayer?

ios - AVPlayer-自动质量更改-多个URL

ios - 坐标空间之间的转换 SpriteKit

iOS:闹钟应用程序在应用程序不活动后如何播放声音?