我正在使用AVQueuePlayer
播放多个音频文件的队列。我无法检测到最后一个音频文件已完成播放。
对于AVAudioPlayer
,有AVAudioPlayerDelegate
和audioPlayerDidFinishPlaying
,但这似乎不适用于AVQueuePlayer
。
如何检测到AVQueuePlayer
已完成播放?
答案 0 :(得分:2)
弄清楚了。在插入项目之前需要添加:
NotificationCenter.default.addObserver(self, selector: #selector(self.playerDidFinishPlaying(sender:)), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: playerItem
然后调用
@objc func playerDidFinishPlaying(sender: Notification) {
print("Finished playing")
}