self.audioSession = [AVAudioSession sharedInstance];
if (self.audioSession.isInputGainSettable) {
BOOL success = [self.audioSession setInputGain:sender.value error:&error];
if (!success) NSLog(@"inputGain error: %@",error);
}
これはios6+用です...ios5の場合、AudioSessionGetProperty / AudioSessionSetProperty関数を使用して同じことを実現できます。
ただし、すべてのハードウェアが入力ゲインを調整できるわけではありません。たとえば、マイク内蔵の iPhone 3GS/ios6 ではゲインを設定できますが、マイク内蔵の iPad mini ではゲインを設定できません。iPhone 3GS では、録音が実際に開始されるまでゲインを設定することもできません。(編集:iPhone 4S/ios5も内蔵マイクでゲイン設定可能)
更新
ご指摘のとおり、iOS ではなく OSX ソリューションを探しています。この回答を(より詳細に)より良い場所に移動しました。
OSX の場合、次の Q&A が役立つ場合があります。
内蔵入力 (OSX Core Audio / Audio Unit) の入力レベル (ゲイン) をどのように設定しますか?