在我的 android 应用程序中,我试图将从 AudioRecord 类获得的立体声音频输入拆分为两个单声道。基本上我需要分别处理来自两个麦克风的音频输入,因此需要拆分。为此,我从 audioRecord.read 方法中选择返回数据的备用样本(一次 2 个字节),并将其保存在 2 个单独的 DOUBLE 类型数组 - ArrayL 和 ArrayR 中。现在我需要保存这 2 个数组,以便能够将其作为单声道录制的通道播放,例如 .mp3 格式。有没有一种简单的方法可以实现从双阵列到任何流行音频格式的转换,并将其作为 L 和 R 通道录音保存在外部存储中?请帮忙!在此先感谢,尼萨
问问题
1329 次
1 回答
-1
脚步:
- 用于
read(byte[] audioData, int offsetInBytes, int sizeInBytes)
将音频放入字节数组。 - 通过将每隔一个字节复制到两个不同的字节数组中来分隔两个通道。
- 将两个字节数组保存为 mp3
- 播放其中任何一个。
对于步骤 3,4
String path = "path to new mono mp3 file";
File mp3File = new File(path);
FileOutputStream fos = new FileOutputStream(mp3File) ;
fos.write(byteArray);
fos.close();
mediaPlayer = MediaPlayer.create(getApplicationContext(),Uri.fromFile(mp3File));
mediaPlayer.start();
于 2013-08-25T17:14:47.187 回答