我正在使用AVPlayer从网址播放视频. 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.moviePlayer更改为self.moviePlayer.currentItem.