Galaxy nexus フォンからステレオ録音をしようとしています。その仕様では、電話機には 2 つのマイクが組み込まれています。間違っていたら訂正してください。デバイスでステレオ録音がサポートされている場合、2 つのマイクが使用されます。
AudioRecord クラスを初期化して使用し、ステレオ オーディオを録音してもエラーは発生しません。しかし、2 つのオーディオ チャンネルから得られる結果はまったく同じです。誰かが以前に同じ問題に遭遇したことがありますか? 何か案は?ありがとうございました。次のコード スニペットは、ステレオ録音のセットアップに使用しているものです。
int bufferRead = 0;
int bufferSize = AudioRecord.getMinBufferSize(44100,
AudioFormat.CHANNEL_IN_STEREO, AudioFormat.ENCODING_PCM_16BIT);
// if doesn't support that sampling frequency
if (bufferSize == AudioRecord.ERROR_BAD_VALUE
|| bufferSize == AudioRecord.ERROR) {
Log.i(this.toString(), "doesn't support sampling rate of "
+ frequency);
throw new IllegalArgumentException(
"entered unsupported audio sampling rate");
}
// grabbing 16-bit pcm audio
short[] tempBuffer = new short[bufferSize];
AudioRecord recordInstance = new AudioRecord(MediaRecorder.AudioSource.MIC,
44100, AudioFormat.CHANNEL_IN_STEREO, AudioFormat.ENCODING_PCM_16BIT,
bufferSize);
recordInstance.startRecording();