複数のトラックを録音して互いに再生するための小さなアプリを書いています。私はPlaybackAndRecordモードを使用しており、出力をメインスピーカーにルーティングしています。問題は、下部のマイクがまだ入力にも使用されていることです。そのため、録音すると、新しいトラックで他のトラックからの出力が非常に大きくなります。これが私がこれまでに持っているものです:
audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
OSStatus propertySetError = 0;
UInt32 allowMixing = true;
propertySetError = AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(allowMixing), &allowMixing);
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
[audioSession setActive:YES error:nil];