尝试在同一个应用程序中使用“惊人的音频引擎”和“AudioStreamer”

时间:2014-02-25 13:59:50

标签: ios objective-c core-audio

在我正在制作的应用程序中,有一个“工作室”,当你可以发出一些声音效果,并为此我正在使用“惊人的音频引擎”。

还可以选择按流收听歌曲。 不幸的是,令人惊叹的音频引擎不包含“流媒体”功能,所以我使用的是“AudioStreamer”。

我不知道为什么但是这两个对我来说不能很好地合作。 他们独自工作很好,但此刻我尝试在惊人的音频引擎上播放一些音频,停止,然后移动到流,然后回到音频引擎,声音不再播放!没声音!

我已经检查过每个课程都叫“停止”,并将其设为“无”。 在他们比赛之前我每次都会分配它们。

我没有选择,并且认为它可能与它们都使用的核心音频有关? 任何帮助将不胜感激

由于

修改

我发现,只有当我使用“AudioStreamer”的“停止”方法时才会发生这种情况! 可以解释任何方式吗?

编辑第二个

找到了答案!

这是通过以外的方式解决的:

        /*
        while (state != AS_INITIALIZED)
    {
    [NSThread sleepForTimeInterval:0.1];
    }
       */


   // And adding this:

   AudioQueueStart(audioQueue, NULL);

对于“停止”方法,仍然不明白为什么......

1 个答案:

答案 0 :(得分:0)

调用音频停止方法或函数以确实停止所有音频单元(缓冲区被硬件清空等)需要一些时间。在经过这段(短暂的)延迟之后,您通常无法重启音频。