【问题标题】:Stopping and Quickly Replaying an AudioQueue停止并快速重放 AudioQueue
【发布时间】:2011-01-05 21:38:08
【问题描述】:

我有一个音频队列,可以正确播放、停止、暂停,但我发现 AudioQueueStop() 函数需要很长时间才能执行。

我想立即停止然后重新开始播放音频队列,想知道最快的方法是什么。

在我的项目中,我保留了多个音频队列,以反复播放特定的声音。有一种情况,我必须停止其中一些声音,然后立即播放它们,一次播放更多。如果我只对几个音频队列执行此操作,这还不错,但如果我需要停止并重新启动很多音频队列,它就会开始花费很长时间。

我可以通过在音频队列上调用 stop 然后创建一个具有相同声音的新队列来伪造它,但我想知道是否有更好的方法来做到这一点。

【问题讨论】:

    标签: iphone objective-c core-audio audiotoolbox audioqueue


    【解决方案1】:

    AudioQueue 对于这类东西可能会很乱。很难在缓冲区中间停止队列,这意味着当前缓冲区将继续播放。另外,您必须处理延迟问题。

    为了以低延迟快速停止和播放,我建议使用 RemoteIO AudioUnit。

    你可以在这里找到一个很棒的代码教程:

    Using RemoteIO audio unit

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-19
      • 2018-06-09
      • 1970-01-01
      • 2015-10-18
      • 1970-01-01
      • 2022-06-24
      相关资源
      最近更新 更多