swift - 如何检测 AVQueuePlayer 已完成播放?

标签 swift avqueueplayer

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

对于AVAudioPlayer,有AVAudioPlayerDelegateaudioPlayerDidFinishPlaying,但这似乎不适用于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")
}

关于swift - 如何检测 AVQueuePlayer 已完成播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57549583/

相关文章:

swift - iOS11中旋转设备时UIToolbar左右间距

ios - Flutter - 如何在 native Swift 代码中调用 channel ?

ios - 无法在 Swift 中获取最新的 CoreData DB 文件

swift - 使用NSVisualEffectView时如何添加按钮

objective-c - 跳到 AVQueuePlayer 上的上一个 AVPlayerItem/播放队列中的选定项目

swift - NSNotificationCenter 到 AVQueuePlayer swift

swift - MPNowPlayingInfoCenter 停止更新进度条

swift - 'int ?' is not identical to ' Uint8' swift

ios - 播放 AVPlayerItem CurrentTime(以秒为单位)返回不一致的值

ios - AVQueuePlayer 的属性