首页 > 解决方案 > 如何检测 AVQueuePlayer 播放完毕?

问题描述

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

因为AVAudioPlayerAVAudioPlayerDelegatewith audioPlayerDidFinishPlaying,但是这似乎不适用于AVQueuePlayer

如何检测AVQueuePlayer完成的播放?

标签: swiftavqueueplayer

解决方案


弄清楚了。插入项目前需要添加:

NotificationCenter.default.addObserver(self, selector: #selector(self.playerDidFinishPlaying(sender:)), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: playerItem

然后调用

@objc func playerDidFinishPlaying(sender: Notification) {
    print("Finished playing")
}

推荐阅读