我有几个简短的.mp3声音,我将其存储在阵列中,并希望连续播放。有没有办法检测AVAudioPlayer何时停止播放,以便我可以调用完成处理程序并播放下一个声音?我知道有一个代表,但我正在使用Playground和SKScene。
答案 0 :(得分:0)
Hellp @ codddeer123,
AVAudioPlayer包含AVAudioPlayerDelegte方法,该方法在完成音频播放时调用。
我已经将它作为我班级的扩展实现,你可以随心所欲。
extension MyViewController: AVAudioPlayerDelegate {
func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
if flag {
// After successfully finish song playing will stop audio player and remove from memory
print("Audio player finished playing")
self.audioPlayer?.stop()
self.audioPlayer = nil
// Write code to play next audio.
}
}
}
您可以在此处编写代码以播放下一个音频。根据你的问题,我已经发布了这个答案。如果您不了解AVAudioPlayer,请转到Apple官方文档或其他在线教程。
我希望这会对你有所帮助。