Android立体声录音。来自两个不同渠道的完全相同的数据

时间:2013-07-31 23:25:13

标签: android microphone audio

我正试图用我的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();

1 个答案:

答案 0 :(得分:0)

  

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

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

主要话筒单独在我使用的各种Android设备中使用单声道和立体声录制 - 从低成本的质量模型到旗舰

这样做的一个原因是主麦克风质量更好(更灵敏,噪音更小等)并且比二级麦克风更昂贵。