2014-09-28 6 views
0

У меня есть приложение, которое кодирует в формате amr_nb и выводит файл в amr. Я хочу, чтобы записанный файл был разбит на несколько файлов amr по 2 КБ каждый. Не знаю, как это достичь.Android Media Recorder - запись аудио в peices

Вот функция, которая вызывается при нажатии Кнопки записи

собственного недействительного startRecording() { записывающего = новый MediaRecorder();

recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
    recorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB); 
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
    recorder.setOutputFile(getFilename()); 

    recorder.setOnErrorListener(errorListener); 
    recorder.setOnInfoListener(infoListener); 

    try { 
     recorder.prepare(); 
     recorder.start(); 
    } catch (IllegalStateException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

Вот метод, называемый при нажатии Stop Button,

private void stopRecording() { 
    if (null != recorder) { 
     recorder.stop(); 
     recorder.reset(); 
     recorder.release(); 

     recorder = null; 
    } 
} 

ответ

0

http://developer.android.com/reference/android/media/MediaRecorder.html#setMaxFileSize(long)

Затем зарегистрировать слушатель MediaRecorder, который получает обратный вызов, когда максимальный размер файла будет достигнут, затем установите MediaRecorder для записи следующего файла. Имейте в виду, что есть (хороший?) Шанс, что это не приведет к серии бесщеточных файлов.