【问题标题】:RemoteInput DelayUnit RemoteOutput = Howling?RemoteInput DelayUnit RemoteOutput = 嚎叫?
【发布时间】:2013-07-08 16:39:56
【问题描述】:

您好,我正在使用 Audio Unit 开发 iOS 应用程序。 我想做的是使用远程输入发出声音,采取延迟效果,然后输出。但是,问题在于它会发出啸叫声,因为延迟语音将成为设备的另一个“远程输入”,并且这种情况会一次又一次地发生。

谁能给我建议如何防止输出啸叫?我只需要一个重复的声音。 (例如,如果我说“你好”,我可以在 1 到 2 秒内从设备中听到我说的“你好”。在我的情况下不宜录音)

谢谢,

【问题讨论】:

    标签: xcode core-audio


    【解决方案1】:

    您遇到的是feedback

    OSX 和 iOS 都带有一个名为 AUVoiceProcessingIO 的特殊输出音频单元,它可以提供帮助(它会自动执行 hotpaw2 描述的闪避)。如果您使用它而不是 RemoteIO,它会在触发输入时自动回避输出,这应该会减少或消除反馈。

    【讨论】:

    • 非常感谢你们!我尝试使用“kAudioUnitSubType_VoiceProcessingIO”,但现在我没有输出,更不用说反馈问题了。我刚刚将 RemoteIO 更改为 VoiceProcessingIO,仅此而已。我是否需要获取/设置一些属性以及此子类型或其他任何内容?
    【解决方案2】:

    当您的音频输出功率(根据输出缓冲区内容计算)高于某个阈值(导致反馈的阈值)时,您可以尝试将输入缓冲区归零。您可能需要尝试短暂的延迟,直到您停止将输入归零以解决延迟问题。

    【讨论】:

      猜你喜欢
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      • 2017-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多