如何检测AVQueuePlayer播放完毕?

时间:2019-08-19 01:28:51

标签: swift avqueueplayer

我正在使用AVQueuePlayer播放多个音频文件的队列。我无法检测到最后一个音频文件已完成播放。

对于AVAudioPlayer,有AVAudioPlayerDelegateaudioPlayerDidFinishPlaying,但这似乎不适用于AVQueuePlayer

如何检测到AVQueuePlayer已完成播放?

1 个答案:

答案 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")
}