Androidでマイク入力のボリュームを制御する方法
AudioRecordの場合は自力で計算する必要がある。
audioRec.startRecording(); bIsRecording = true; new Thread(new Runnable() { @Override public void run() { short buf[] = new short[bufSize]; while (bIsRecording) { int numRead = audioRec.read(buf, 0, buf.length); float gain = 0.3f; if (numRead > 0) { for (int i = 0; i < numRead; ++i) { buf[i] = (short)Math.min((int)(buf[i] * gain), (int)Short.MAX_VALUE); } } // Log.d("audiorecord", String.valueOf(buf.length)); // Log.i("audiorecord", String.valueOf(buf[0])); } // 録音停止 audioRec.stop(); audioRec.release(); } }).start();
こんな感じにすれば良いらしい。