2

我正在编写使用kAudioUnitSubType_VoiceProcessingIO音频单元录制声音的应用程序。我试图捕捉几天的奇怪错误。创建 VPIO 单元的新实例后,整个系统的内部麦克风增益会自动更改。

初始化代码:

AudioComponentDescription audioComponentDescriptionWildcard =
  {
    kAudioUnitType_Output,
    kAudioUnitSubType_VoiceProcessingIO,
    kAudioUnitManufacturer_Apple
   };

AudioComponent audioComponent = 
  AudioComponentFindNext(NULL,   
  &audioComponentDescriptionWildcard);


OSStatus status = AudioComponentInstanceNew(audioComponent, &audioComponentInstance);

验证问题的最简单方法是在AudioComponentInstanceNew通话中设置断点并启动 Skype 呼叫以进行 Skype 测试呼叫服务。在这条线执行之前,录制的声音响亮而清晰。执行此线路后,麦克风电平急剧下降。

其他单位一切正常。并且应用程序不会干扰其他录音应用程序。

4

1 回答 1

1

这是因为默认情况下启用了自动增益控制。您需要将 kAUVoiceIOProperty_VoiceProcessingEnableAGC 属性更改为 0。

http://developer.apple.com/library/ios/#documentation/AudioUnit/Reference/AudioUnitPropertiesReference/Reference/reference.html#//apple_ref/doc/constant_group/Voice_Processing_I_O_Audio_Unit_Properties

于 2013-01-29T12:26:54.820 回答