使用媒体录音机合并 2 个录音



我正在创建一个Android录音机应用程序。我正在其中实现记录和暂停功能。

这是我的代码:

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();
           }
       }
   }

这段代码不能帮助我合并所有录制的暂停,再次录制暂停和再次录制暂停的录音。

我只是得到一个包含录制总长度的文件,只有录制的初始音频片段(直到您第一次按下暂停)。

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

请帮忙..

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

我已经在这样的应用程序中录制了视频。

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

最新更新