【问题标题】:Audio Unit for play and record without filters无需过滤器即可播放和录制的音频单元
【发布时间】:2026-01-07 15:45:01
【问题描述】:

我正在开发一个应用程序,该应用程序将音频单元设置为录制和播放,并使用回调进行音频处理。我使用回调是因为我必须在 c 中实现自己的过滤器。我正在使用带有 kAudioUnitType_Output 和 kAudioUnitSubType_RemoteIO 的音频单元。此音频单元默认使用高通滤波器。我只想应用我自己的过滤器,所以我想知道是否有办法在不将音频会话模式设置为 AVAudioSessionModeMeasurement 的情况下禁用此过滤器,因为使用它会丢失增益。 我找不到禁用此过滤器或可用于此目标的音频单元的方法。

【问题讨论】:

    标签: ios core-audio audiounit


    【解决方案1】:

    我认为不使用测量模式没有任何方法可以做到这一点。我通过在渲染回调中手动提高增益(4x)来补偿增益损失。

    【讨论】:

    • 我尝试了类似的方法,但我在使用这个解决方案时遇到了问题。
    • 你有什么问题?
    • 如果我手动提高增益,我在使用应用程序实时录制和播放时会遇到声音反馈。
    • 我认为反馈是增益和麦克风靠近扬声器的结果,而不是实现增益的方法。
    • 你说得对,这是一个物理问题,但我不知道带有 kAudioUnitType_Output 和 kAudioUnitSubType_RemoteIO 的音频单元如何能够提供相同的增益,但在麦克风和扬声器之间没有相同距离的反馈。跨度>
    最近更新 更多