我正试图用我的galaxy nexus手机进行立体声录音。根据其规格,这款手机内置了2个麦克风。如果我错了,请纠正我,当设备支持立体声录音时,将使用2个麦克风
我没有错误初始化并使用AudioRecord类来录制立体声音频。但我从两个音频通道获得的结果完全相同。有没有人遇到过同样的问题?有任何想法吗?谢谢。我正在使用以下代码片段进行立体声录音设置:
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();
答案 0 :(得分:0)
如果我错了,请纠正我,当设备支持立体声录音时,将使用2个麦克风
在我对数十台设备进行测试的3年经验中,我发现事实并非如此。
主要话筒单独在我使用的各种Android设备中使用单声道和立体声录制 - 从低成本的质量模型到旗舰
这样做的一个原因是主麦克风质量更好(更灵敏,噪音更小等)并且比二级麦克风更昂贵。