2016-03-18 2 views
0

Я создаю Android Audio Recorder приложения .. я реализую записи и паузы функции в нем ..Объединить 2 аудио запись с помощью MediaRecorder

Это мой код:

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

Этот код не помогает мне в слиянии всех записанных пауз, снова записанных пауз и снова записанных пауз аудиозаписей ..

Я просто получить файл с общей длиной записи, только с начальной частью записанного звука (до нажатия паузы в первый раз) ..

сливающийся не происходит здесь .. Что я сделаю, чтобы разрешить это ... ??

Пожалуйста, помогите ..

ответ

0

В этой сцене, вы должны записывать звук кадр за кадром.

Я записал видео в таком приложении.

Поэтому я рекомендую вам использовать эту библиотеку: ffmpeg.

Смежные вопросы