kAudioUnitSubType_VoiceProcessingIO
オーディオユニットで音声を録音するアプリを書いています。そして、私が数日間捕まえようとしている奇妙なバグがあります。VPIOユニットの新しいインスタンスを作成すると、システム全体の内部マイクゲインが自動的に変更されます。
初期化コード:
AudioComponentDescription audioComponentDescriptionWildcard =
{
kAudioUnitType_Output,
kAudioUnitSubType_VoiceProcessingIO,
kAudioUnitManufacturer_Apple
};
AudioComponent audioComponent =
AudioComponentFindNext(NULL,
&audioComponentDescriptionWildcard);
OSStatus status = AudioComponentInstanceNew(audioComponent, &audioComponentInstance);
問題を確認する最も簡単な方法は、通話にブレークポイントを設定し、AudioComponentInstanceNew
Skypeテスト通話サービスへのSkype通話を開始することです。このラインが実行される前に、録音された声は大きくはっきりしています。このラインを実行した後、マイクレベルは劇的に低下します。
他のユニットでは、すべてが正常です。そして、アプリは他の録音アプリケーションに干渉しません。