AVAudioEngine& AVAudioPlayerNode像AVAudioPlayer一样完成了Finish方法

时间:2015-12-12 09:46:07

标签: ios swift swift2 avaudioplayer avaudioengine

是否有可能确定df_note.values是否完成了播放的声音?在过去,我使用了AVAudioEngine的函数:

AVAudioPlayer

现在我需要一些效果,但没有提供func audioPlayerDidFinishPlaying(player: AVAudioPlayer, successfully flag: Bool) { // Code after finished the played sound } 的函数来识别播放声音的结束。

我搜索了很多,但不幸的是我在AVAudioEnginge的文档中只发现了这个函数:

AVAudioEngine

我目前的解决方案是检查“正在运行”的布尔值,如果错误则播放器不再播放。有人知道var running: Bool { get } 更好的解决方案吗?非常感谢你!

2 个答案:

答案 0 :(得分:3)

我将AVAudioPlayerNode附加到我的引擎

import sys
for count1 in range(1,11):
    print("")
    for count2 in range(1,11):
        num = count1 * count2
        if len(str(num)) == 1:
            spc = "  "
        else:
            spc = " "
        sys.stdout.write(str(count1 * count2) + spc)

我希望有所帮助!

答案 1 :(得分:2)

我还使用了NSTimer,因为我还没有找到任何其他解决方案/代表。但它只被触发一次,并在音频文件结束后立即开始(这意味着,第一个参数"秒"具有audiofile持续时间的值)。选择器是我的#34;自定义代理"功能