4

マイクフィードの録音にAppleのCoreAudioフレームワークを使用しています。自動ゲイン制御はデフォルトで有効になっているようです:https ://developer.apple.com/library/mac/#documentation/AudioUnit/Reference/AudioUnitPropertiesReference/Reference/reference.html

kAUVoiceIOProperty_VoiceProcessingEnableAGC
Indicates whether automatic gain control is enabled (any nonzero value) or disabled (a value of 0). Automatic gain control is enabled by default.
Value is a read/write UInt32 valid on the global audio unit scope.
Available in OS X v10.7 and later.
Declared in AudioUnitProperties.h.

CoreAudioでプログラムでAGCをオフにするにはどうすればよいですか?

4

1 に答える 1

4

AUVoiceProcessorAudioUnitを使用していると仮定します。voiceProcessor

UInt32 turnOff = 0;
AudioUnitSetProperty(voiceProcessor,
                     kAUVoiceIOProperty_VoiceProcessingEnableAGC,
                     kAudioUnitScope_Global,
                     0,
                     &turnOff,
                     sizeof(turnOff));

簡単な説明:これは、オーディオユニットのプロパティを0に設定することです。この場合、AGCは無効になります。オーディオユニットには通常、プロパティパラメータと呼ばれる2セットの制御可能な値があります。AudioUnitSetProperty()/AudioUnitGetProperty()およびAudioUnitSetParameter()/を使用して、これらの値を設定/取得できますAudioUnitGetParameter()

注:おそらく、返されるOSStatusコードを確認する必要があります(エラーがなかった場合と同じになります)。AudioUnitSetProperty()noErr

于 2013-03-27T12:29:51.800 に答える