【发布时间】:2018-08-21 16:46:13
【问题描述】:
我正在使用 QueuePlayer 播放歌曲列表并且歌曲正在播放。我的问题是我试图跟踪当前项目何时更改。 我尝试向 QueuePlayer 添加观察者,但这不起作用。观察函数没有被调用。任何帮助将不胜感激
观察者
queuePlayer.currentItem?.addObserver(self, forKeyPath: "currentItem", options: [.new, .old], context: nil)
}
监听观察者 // 当项目改变时不被调用
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if keyPath == "currentItem" {
if let oldItem = change?[NSKeyValueChangeKey.oldKey] as? AVPlayerItem {
print("Old item : \(oldItem)")
}
if let newItem = change?[NSKeyValueChangeKey.newKey] as? AVPlayerItem {
print("New item : \(newItem)")
}
}
}
【问题讨论】:
标签: swift avfoundation avplayer avplayeritem avqueueplayer