【问题标题】:Objective-C: AudioOutputUnitStart takes a long time to start. Possible workaround?Objective-C:AudioOutputUnitStart 需要很长时间才能启动。可能的解决方法?
【发布时间】:2011-04-16 23:48:47
【问题描述】:

AudioOutputUnitStart 函数在我每次调用时最多需要 1-2 秒才能启动。我使用 AudioOutputUnitStop 来停止它,有没有像 AudioOutputUnitPause 这样的东西,所以第一次启动只需要这么多?还是我必须一直保持启动并在“停止”时输出静音(这似乎不对)

谢谢!

编辑:我播放的声音很短(不到一秒钟,连续播放),所以我不认为是这样,无论声音大小,这可能就是通常需要的声音。

【问题讨论】:

    标签: objective-c core-audio


    【解决方案1】:

    尝试减少音频数据的缓冲区大小。 在第一个缓冲区充满数据之前,iOS 不会开始播放。如果这个缓冲区很大,可能需要 1-2 秒。

    【讨论】:

    • 确实是问题所在。我使缓冲区大小太大。忘了在这里添加答案。但是,会选择你的答案,因为是正确的。
    • 请问您是如何更改缓冲区大小的?
    • DeriveBufferSize() 方法将一个值作为第三个参数来保存缓冲区大小。生成的缓冲区大小由 DeriveBufferSize() 方法中的指针调用更改:DeriveBufferSize(recordState.queue, recordState.dataFormat, 0.5, &recordState.bufferByteSize);
    猜你喜欢
    • 2013-11-15
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多