【发布时间】:2015-12-12 09:46:07
【问题描述】:
是否有可能确定AVAudioEngine 是否完成了播放声音?过去我使用AVAudioPlayer的函数:
func audioPlayerDidFinishPlaying(player: AVAudioPlayer, successfully flag: Bool) {
// Code after finished the played sound
}
现在我需要一些效果,但没有 AVAudioEnginge 的函数来标识播放声音的结束。
查了很多,可惜在AVAudioEngine的文档中只找到了这个func:
var running: Bool { get }
我当前的解决方案是检查“正在运行”布尔值,如果它为假,则播放器不再播放。有人知道AVAudioEngine 的更好解决方案吗?非常感谢!
【问题讨论】:
-
我目前的解决方案:我有一个 NSTimer,每毫秒触发一个事件。如果 AVAudioEngine 达到其结束时间,我会手动触发我自己的 didFinish 函数......如果有人有更好的解决方案,请随时在这里分享。谢谢。
标签: ios swift swift2 avaudioplayer avaudioengine