您好我正在使用Audio Unit开发iOS应用程序。 我想做的是使用远程输入发出声音,采取延迟效果并输出。然而,问题是它会发出啸叫,因为延迟的声音是设备的另一个“远程输入”,这种情况反复出现。
有人能给我建议如何防止输出啸叫?我只需要一个重复的声音。 (例如,如果我说“你好”,我可以在1或2秒钟内听到设备发出“Hello”声。在我的情况下录音不是更好)
谢谢,
答案 0 :(得分:2)
您遇到的是feedback。
OSX和iOS都带有一个名为AUVoiceProcessingIO的特殊输出音频单元,可以提供帮助(它会自动执行hotpaw2描述的闪避)。如果您使用它而不是RemoteIO,它会在触发输入时自动降低输出,这应该会减少或消除反馈。
答案 1 :(得分:0)
当您的音频输出功率(根据输出缓冲器内容计算)高于某个阈值(导致反馈)时,您可以尝试将输入缓冲器归零。您可能需要尝试短暂的延迟,直到您停止将输入归零以说明延迟。