我是Android Studio的新手,并试图创建我需要录制立体声音频的第一个应用程序 . 我正在使用带有以下语句的AudioRecord类:

recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, sampleRate,
                                    AudioFormat.CHANNEL_IN_STEREO,
                                    AudioFormat.ENCODING_PCM_16BIT,bufferSize);

我正在使用2个外接麦克风连接到声卡,该声卡通过其USB插头插入手机 . 在我的计算机上使用相同的声卡和大胆的立体声录音工作正常 .

但是在应用程序中,当使用Java的方法_1295406时出现问题:我得到两个相同的通道 . sData 看起来像 [1,1,8,8,0,0,-9,-9, etc] ,每帧中的样本相同 .

应用程序获得的唯一信号实际上对应于其中一个麦克风记录的信号,但我找不到从第二个麦克风获取信号的解决方案 . 很久以前在this link上,或在that link上,或在thaat link上问了同样的问题,但我无法解决他们的问题 .

有人会对我能做什么感到满意吗?


以下是其他信息,如果可能有帮助:我的应用程序需要将音频保存在pcm文件中,我正在使用recorder.read()方法的输出逐字节写入 .

我的目标API是15,我在三星Galaxy A3上测试应用程序 .

我已经在清单中声明了音频许可,但没有更多关于如何处理麦克风的声明,因为我不知道它是否有必要,也不知道如何操作 . 我正在使用WM-4000PTV2麦克风和Behringer UCA222声卡 .