【问题标题】:what will affect audio-unit render callback cycle(period)?什么会影响音频单元渲染回调周期(周期)?
【发布时间】:2020-11-17 03:58:22
【问题描述】:

我使用音频单元(子类型:VPIO)来播放音频。

网络发送的音频有抖动

问题: 1 .音频单元启动时间不固定,有时250MS,有时400MS(不同iPhone iPad) 2.播放回调周期甚至不是某个时候。例如我们 8K Sample_rate,大多数时间在 23 毫秒内被调用(播放回调)。340~342BYTE。但 偶尔,回调时间间隔 130+ ms,并且 ioData->mBuffers[0].mDataByteSize= 340 byte 也是。我没有在渲染回调函数中进行耗时的操作。只需将数据复制到 IOdata。数据就够了。

                          PlayCallback(void *inRefCon,

                           AudioUnitRenderActionFlags *ioActionFlags,

                           const AudioTimeStamp *inTimeStamp,

                           UInt32 inBusNumber,

                           UInt32 inNumberFrames,

                           AudioBufferList *IOData){copy data from my buffer }

我想知道什么会影响音频渲染回调周期(周期)?

【问题讨论】:

    标签: avfoundation audiounit


    【解决方案1】:

    后台模式通常会导致回调间隔或缓冲区大小增加 4 倍,这可能会节省电池电量(更长的间隔允许操作系统减少音频硬件 DMA 的频率,或者减少从睡眠/小睡模式中唤醒您的应用经常)。

    开启或关闭 Siri 语音识别可能会影响麦克风芯片和相关音频输入电路启动所需的时间。任何其他应用程序是否也配置了音频会话也可能会影响启动时间。不同型号的 iOS 设备的音频电路有所不同。

    【讨论】:

      【解决方案2】:

      原因是由于录制。几乎我在录制和播放时使用不同的音频单元 obj,但它们位于相同的音频会话上下文中。一些操作会影响录制单元回调函数的周期,耗时比较长,结果就是播放音频单元的回调也会受到影响。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-27
        • 1970-01-01
        • 2022-09-29
        • 2010-10-18
        • 2012-06-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多