Ios 以编程方式关闭语音处理IO AGC
我正在使用苹果的CoreAudio框架来录制我的麦克风信号。默认情况下,自动增益控制似乎已启用:Ios 以编程方式关闭语音处理IO AGC,ios,audio,core-audio,Ios,Audio,Core Audio,我正在使用苹果的CoreAudio框架来录制我的麦克风信号。默认情况下,自动增益控制似乎已启用: 如何以编程方式关闭CoreAudio中的AGC?假设您正在使用名为voiceProcessor的AUVoiceProcessor音频单元 UInt32 turnOff = 0; AudioUnitSetProperty(voiceProcessor, kAUVoiceIOProperty_VoiceProcessingEnableAGC,
如何以编程方式关闭CoreAudio中的AGC?假设您正在使用名为
voiceProcessor的AUVoiceProcessor音频单元
UInt32 turnOff = 0;
AudioUnitSetProperty(voiceProcessor,
kAUVoiceIOProperty_VoiceProcessingEnableAGC,
kAudioUnitScope_Global,
0,
&turnOff,
sizeof(turnOff));
快速解释:这样做的目的是将音频单元上的属性设置为0,在这种情况下禁用AGC。音频单元通常有两组可控值,称为属性和参数。您可以通过相应地使用AudioUnitSetProperty()
/AudioUnitGetProperty()
和AudioUnitSetParameter()
/AudioUnitGetParameter()
来设置/获取这些值
注意:您可能应该检查OSStatus
代码AudioUnitSetProperty()
返回的代码(如果没有错误,它将等于noErr
。AudioUnitSetProperty
不推荐使用,还有其他方法吗@zevarito我不认为它已经被弃用了,但是这对我来说是失败的-返回OSStatusk音频单位错误无效属性
。有什么建议吗?这仍然是唯一一个解决这个问题的帖子吗?到2021年,这个问题还没有解决。任何人
UInt32 turnOff = 0;
AudioUnitSetProperty(voiceProcessor,
kAUVoiceIOProperty_VoiceProcessingEnableAGC,
kAudioUnitScope_Global,
0,
&turnOff,
sizeof(turnOff));