如何检测 AVQueuePlayer 播放完毕?
How can I detect that AVQueuePlayer finished playing?
我正在使用 AVQueuePlayer
播放多个音频文件队列。我一直无法检测到最后一个音频文件播放完毕。
对于 AVAudioPlayer
有 AVAudioPlayerDelegate
和 audioPlayerDidFinishPlaying
,但这似乎不适用于 AVQueuePlayer
。
如何检测 AVQueuePlayer
播放完毕?
想通了。插入项目前需要添加:
NotificationCenter.default.addObserver(self, selector: #selector(self.playerDidFinishPlaying(sender:)), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: playerItem
然后调用
@objc func playerDidFinishPlaying(sender: Notification) {
print("Finished playing")
}
我正在使用 AVQueuePlayer
播放多个音频文件队列。我一直无法检测到最后一个音频文件播放完毕。
对于 AVAudioPlayer
有 AVAudioPlayerDelegate
和 audioPlayerDidFinishPlaying
,但这似乎不适用于 AVQueuePlayer
。
如何检测 AVQueuePlayer
播放完毕?
想通了。插入项目前需要添加:
NotificationCenter.default.addObserver(self, selector: #selector(self.playerDidFinishPlaying(sender:)), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: playerItem
然后调用
@objc func playerDidFinishPlaying(sender: Notification) {
print("Finished playing")
}