Androidで録音される音量を調整する方法
このプログラムで、利得制御ができるらしいです。
いまいち、動作原理はよくわかっていません。
audioRec = new AudioRecord( MediaRecorder.AudioSource.MIC, SAMPLING_RATE, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT, bufSize * 2); // 2倍にしないと処理落ちするらしい。 if (AutomaticGainControl.isAvailable()) { AutomaticGainControl agc = AutomaticGainControl.create(audioRec.getAudioSessionId()); agc.setEnabled(true); Log.i("自動利得制御", "有効にしました。"); } else { Log.i("自動利得制御", "対応していない端末です。"); } audioRec.startRecording();
とりあえず、手持ちのスマホでは対応していませんでした。
対応している端末であれば、多少は変化があるはずです。