我是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 link或that link或thaat link上问了同样的问题,但我无法解决他们的问题。
有人能够了解我能做些什么吗?
以下是其他信息,以防可能有所帮助: 我的应用程序需要将音频保存在pcm文件中,我使用recorder.read()方法的输出逐字节写入。
我的目标API是15,我在三星Galaxy A3上测试应用程序。
我已经在清单中声明了音频权限,但没有更多关于如何处理麦克风的声明,因为我不知道是否有必要,也不知道如何操作。我正在使用WM-4000PTV2麦克风和Behringer UCA222声卡。