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();こんな感じにすれば良いらしい。


