使用MediaRecorder合并2个录音

时间:2016-03-18 07:21:24

标签: android audio merge ubuntu-14.04 mediarecorder

我正在制作 Android Audio Recorder 应用.. 我正在其中实施记录和暂停功能..

这是我的代码:

private void mergeFile(File combineFile, File output){
       File[] listofFiles=MaverickDir.listFiles();
       FileInputStream fisToFinal = null;
       FileOutputStream fos = null;
       try {
           fos = new FileOutputStream(combineFile);
           fisToFinal = new FileInputStream(combineFile);
           for(int i=0;i<listofFiles.length;i++){
               if(!listofFiles[i].exists())
                   continue;
               FileInputStream fileInputStream = new FileInputStream(listofFiles[i]);
               SequenceInputStream sis = new SequenceInputStream(fisToFinal, fileInputStream);
               byte[] buf = new byte[1024];
               try {
                   for (int readNum; (readNum = fileInputStream.read(buf)) != -1;)
                       fos.write(buf, 0, readNum);
               } 
               finally {
                   if(fileInputStream!=null){
                       fileInputStream.close();
                   }
                   if(sis!=null){
                       sis.close();
                   }
               }
           }
       } 
       catch (IOException e) {
           e.printStackTrace();
       }
       finally{
           try {
               if(fos!=null){
                   fos.flush();
                   fos.close();
               }
               if(fisToFinal!=null){
                   fisToFinal.close();
               }
           } 
           catch (IOException e) {
               e.printStackTrace();
           }
       }
   }

此代码无法帮助我合并所有录制暂停,再次录制暂停和再次录制暂停的录音。

我只得到一个记录总长度的文件,只记录最初的录音(直到你第一次按下暂停)..

合并没有发生在这里.. 我该怎么做才能解决它...... ??

请帮助..

1 个答案:

答案 0 :(得分:0)

在此场景中,您应该逐帧录制音频。

我在这样的应用中录制了视频。

所以我建议你使用这个库:ffmpeg