[英]merge two amr files in android
我试图根据此答案在Android中合并两个amr文件: 在Java或android中合并AMR音频文件,我拒绝第二个文件中的前6个字节,然后写入第一个amr文件中...输出文件正在合并两个文件,但有杂音就在连接第二。 这是我的代码:
soundFile.createNewFile();
FileInputStream inputStream1 = new FileInputStream(soundFile.getAbsolutePath()+0);
FileInputStream inputStream2 = new FileInputStream(soundFile.getAbsolutePath()+1);
FileOutputStream outputStream = new FileOutputStream(new File(soundFile.getAbsolutePath()+"w"));
int temp = 0;
inputStream2.read();
inputStream2.read();
inputStream2.read();
inputStream2.read();
inputStream2.read();
inputStream2.read();
while( (temp = inputStream2.read()) != -1 )
{
outputStream.write(temp);
}
outputStream.close();
inputStream2.close();
inputStream2 = new FileInputStream(soundFile.getAbsolutePath()+"w");
SequenceInputStream inputStream3 = new SequenceInputStream(inputStream1, inputStream2);
outputStream = new FileOutputStream(soundFile);
//FileWriter fileWriter = new FileWriter(soundFile, true);
while( (temp = inputStream3.read()) != -1 )
{
outputStream.write(temp);
}
outputStream.close();
inputStream1.close();
inputStream2.close();
inputStream3.close();
//fileWriter.close();
//fileWriter.flush();
} catch (IOException e) {
}
这是我的第一个amr文件: http : //www.filedropper.com/aaaa_2
这是第二个Amr文件:www.filedropper.com/aaaa_3
这是我的合并amr文件:www.filedropper.com/aaaa_4
任何可以帮助我吗?
谢谢你为我的英语...
您需要单独记录文件,然后才能将它们合并在一起。
使用RAW AMR格式。 即将记录器设置设置为:
recorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
在RAW AMR中生成音频文件后,可以通过去除要添加的文件的前6个字节来加入这些文件。 同样,以二进制模式打开音频文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.