2015-09-01 8 views
1

им пытаются объединить два файл в Амр андроид по этому ответу: Merge AMR audio file in java or android я отрицаем первые 6 байт из второго файла, а затем записать в первый файл Амр ... выходного файл слияние два файла, но он имеет шум справа на втором. это мой код:объединить два АСКУЭ файлов в андроид

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) { 
      } 

это мой первый амр файл: http://www.filedropper.com/aaaa_2

это второй амр файл: www.filedropper.com/aaaa_3

и это мое слияние амр файл : www.filedropper.com/aaaa_4

any1 может мне помочь?

ТНХ и СРЮ за мой английский ...

ответ

0

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

Используйте формат RAW AMR. то есть параметры набора самописца к:

recorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB); 
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 

После того как вы звуковые файлы, созданным в RAW AMR, вы можете присоединиться к этим файлам с помощью удаляющего первых 6 распрощались файл, который вы добавляющие. Для этого откройте аудиофайлы в двоичном режиме.