如何防止iphone麦克风录制播放的声音?

Posted

技术标签:

【中文标题】如何防止iphone麦克风录制播放的声音?【英文标题】:How to prevent iphone microphone to record played sound? 【发布时间】:2012-03-30 16:45:58 【问题描述】:

我目前正在开发一个需要同时录制和播放的应用程序,但只能以给定的频率发出给定的哔声。通过使用 avaudioplayer 播放声音和 audioqueue 以所需的频率发射,所有这些都可以正常工作。目的是从其他设备获取信号并进行处理。

不幸的是,每次我播放声音时,我都会触发处理,因为应用程序会“听到自己”。我想知道是否有办法在有或没有严重的信号处理/软件技巧等情况下以某种方式取消它。

我现在的解决方案是在 avaudioplayer 播放声音时使用标志使应用程序失聪,然后它委托完成甚至更改标志。好吧..这不是很准确:(

任何帮助将不胜感激!

【问题讨论】:

暂时降低或归零麦克风输入音量有什么不准确的地方?人们说话时的内耳会这样做。 我不知道音频何时完全完成,即使我使用 avaudioplayer 委托,它也会“过早”触发。现在我分配了一个计时器,但它的持续时间又是一个问题。 【参考方案1】:

您需要与AEC (acoustic echo cancellation) 非常相似的东西 - 这可能很难实现,但本质上它是一个自适应滤波器,可以消除扬声器的音频。

【讨论】:

有趣,我会研究一下,也许这会有所帮助。谢谢!

以上是关于如何防止iphone麦克风录制播放的声音?的主要内容,如果未能解决你的问题,请参考以下文章

使用 iPhone SDK 同时播放和录制声音?

iPhone:在没有麦克风的情况下录制输出声音

屏幕录制时没有声音是怎么回事

如何以编程方式在 iphone 中执行应用程序音频的内部录制

使用 AudioQueue 和 Monotouch 静态声音录制

iPhone应用声音识别?