0

我正在尝试通过我的 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();
4

1 回答 1

0

如果我错了,请纠正我,当设备支持立体声录音时,将使用 2 个麦克风

在我对数十种设备进行测试的 3 年经验中,我发现情况并非如此。

在我使用过的各种 Android 设备(从低成本大众机型到旗舰机型)中,仅主麦克风就可用于声道和立体声录音。

造成这种情况的一个原因是主麦克风的质量更好(更灵敏,噪音更小等)并且比辅助麦克风更昂贵。

于 2016-10-17T15:44:01.463 回答