Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 以编程方式关闭语音处理IO AGC_Ios_Audio_Core Audio - Fatal编程技术网

Ios 以编程方式关闭语音处理IO AGC

Ios 以编程方式关闭语音处理IO AGC,ios,audio,core-audio,Ios,Audio,Core Audio,我正在使用苹果的CoreAudio框架来录制我的麦克风信号。默认情况下,自动增益控制似乎已启用: 如何以编程方式关闭CoreAudio中的AGC?假设您正在使用名为voiceProcessor的AUVoiceProcessor音频单元 UInt32 turnOff = 0; AudioUnitSetProperty(voiceProcessor, kAUVoiceIOProperty_VoiceProcessingEnableAGC,

我正在使用苹果的CoreAudio框架来录制我的麦克风信号。默认情况下,自动增益控制似乎已启用:


如何以编程方式关闭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我不认为它已经被弃用了,但是这对我来说是失败的-返回OSStatus
k​音频​单位​错误无效​属性
。有什么建议吗?这仍然是唯一一个解决这个问题的帖子吗?到2021年,这个问题还没有解决。任何人
UInt32 turnOff = 0;
AudioUnitSetProperty(voiceProcessor,
                     kAUVoiceIOProperty_VoiceProcessingEnableAGC,
                     kAudioUnitScope_Global,
                     0,
                     &turnOff,
                     sizeof(turnOff));