gpt4 book ai didi

swift - AVQueuePlayer 当前项目已更改

转载 作者:行者123 更新时间:2023-11-28 05:54:12 24 4
gpt4 key购买 nike

我正在使用 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)")
}
}
}

最佳答案

您的代码正在观察 queuePlayer.currentItemcurrentItem 属性。

观察queuePlayercurrentItem属性,应该是

queuePlayer.addObserver(self, forKeyPath: "currentItem", …

或者更好的是,用于编译时检查......

queuePlayer.addObserver(self, forKeyPath: #keyPath(AVQueuePlayer.currentItem), …

关于swift - AVQueuePlayer 当前项目已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51953301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com