【问题标题】:addObserver to AVPlayer never being called when AVPlayer Ready to play?当 AVPlayer 准备好播放时,永远不会调用 addObserver 到 AVPlayer?
【发布时间】:2015-12-29 11:34:21
【问题描述】:

我已将观察者添加到 AVPlayer,但当 avplayer 状态准备好播放时,它没有调用该函数。该函数在视频开始播放时调用了两次,但 AVPlayer 的持续时间参数都返回“nan”,当 AVPlayer 准备播放时我需要获取持续时间。

    playerController.player = player
    self.addChildViewController(playerController)
    self.view.addSubview(playerController.view)
    playerController.view.frame = self.view.frame
    playerController.showsPlaybackControls = false
    player.addObserver(self, forKeyPath: "status", options: NSKeyValueObservingOptions(), context: nil)
    player.play()

override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
    if player.currentItem?.status == AVPlayerItemStatus.ReadyToPlay {
      print("a")  
    }
}

【问题讨论】:

    标签: ios swift avplayer observers ios9.1


    【解决方案1】:

    像这样替换addObserver 行:

    player.currentItem!.addObserver(self, forKeyPath: "status", options: NSKeyValueObservingOptions(), context: nil)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 1970-01-01
      • 1970-01-01
      • 2021-04-07
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      相关资源
      最近更新 更多