取消iOS麦克风回声消除和噪音抑制

时间:2019-10-20 11:45:54

标签: ios avaudiosession avaudiorecorder

在iOS的录音机中是否可以取消诸如回声消除和噪声抑制的预处理?

我将AVAudioRecordermeteringEnabled=true一起使用,并且我使用averagePowerForChanneldocs)获得了平均分贝水平。

我正在尝试测量手机附近的环境噪声,如果我开始讲话,iPhone 8似乎会放大低噪声或将其消除。例如,如果背景音乐的绝对分贝级别为30,则iOS似乎会对其进行放大。当我开始安静说话时-dB电平会大大降低。

但是由于我想测量环境噪声-我不需要这种预处理。

我尝试了setInputGaindocs),但是isInputGainSettable始终为假-因此,我不能采用这种方法。

有没有办法消除任何放大或预处理,例如回声消除和噪声抑制?

1 个答案:

答案 0 :(得分:0)

您可以启用和禁用AEC,AGC-使用AudioUnitSetProperty

https://developer.apple.com/documentation/audiotoolbox/1440371-audiounitsetproperty

这里有一些相同的代码段。

lResult = AudioUnitSetProperty(lAUAudioUnit,                                    kAUVoiceIOProperty_BypassVoiceProcessing,                                    kAudioUnitScope_Global,                                    输入总线                                    &lFalse,                                    sizeof(lFalse));

lResult = AudioUnitSetProperty(lAUAudioUnit,                                    kAUVoiceIOProperty_VoiceProcessingEnableAGC,                                    kAudioUnitScope_Global,                                    输入总线                                    &lFalse,                                    sizeof(lFalse));

相关问题