我正在编写使用kAudioUnitSubType_VoiceProcessingIO
音频单元录制声音的应用。并且有一个奇怪的错误,我试图捕捉几天。在创建新的VPIO单元实例后,整个系统会自动更改内部麦克风增益。
初始化代码:
AudioComponentDescription audioComponentDescriptionWildcard =
{
kAudioUnitType_Output,
kAudioUnitSubType_VoiceProcessingIO,
kAudioUnitManufacturer_Apple
};
AudioComponent audioComponent =
AudioComponentFindNext(NULL,
&audioComponentDescriptionWildcard);
OSStatus status = AudioComponentInstanceNew(audioComponent, &audioComponentInstance);
验证问题的最简单方法是在AudioComponentInstanceNew
调用上创建一个断点并启动Skype调用skype测试调用服务。在此行之前执行录制的声音是响亮而清晰的。执行此线路后麦克风电平急剧下降。
与其他单位一切正常。并且app不会干扰其他录制应用程序。
答案 0 :(得分:1)
这是因为默认情况下启用了自动增益控制。您需要将kAUVoiceIOProperty_VoiceProcessingEnableAGC属性更改为0.