Stereo AudioRecord提供两个相同的频道

时间:2017-08-08 14:01:45

标签: java android audio

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

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

我正在使用2个外接麦克风连接到声卡,该声卡通过其USB插头插入手机。当我的计算机上使用相同的声卡和大胆时,立体声录音效果很好。

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

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

有人能够了解我能做些什么吗?

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

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

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

0 个答案:

没有答案