繁体   English   中英

在Android中合并两个amr文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM