Como pausar / retomar uma gravação criada com o mediarecorder?

Estou tentando pausar uma gravação em uma chamada recebida e retomar mais tarde. estou usando o andriodmediarecorder e tentando gravar emMPEG4. Tentei pausar / retomar redefinindo / interrompendo uma gravação e iniciando-a com osetOutputFile(fd), fd sendo ofiledescriptor do arquivo de áudio que foi parado / pausado e esperava que fosse acrescentado, mas não tive sorte. Existe uma maneira de conseguir isso ou anexar duas gravações ou devo desistir demediarecorder.

código

private MediaRecorder media_recorder;
private String file_path = null;

public void startRecording(path)
{
  file_path = path
  media_recorder= new MediaRecorder();
  media_recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
  media_recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
  media_recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
  media_recorder.setOputputFile(path);
  media_recorder.prepare();
}

public void pauseRecording()
{
  media_recorder.stop();
  media_recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
  media_recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
  media_recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
  FileOutputStream paused_file = new FileOutputStream(file_path);
  media_recorder.setOutputFile(paused_file.getFD());
}

public void resumeRecording()
{
  media_recorder.prepare();
  media_recorder.start();
}

pauseRecording() interrompe a gravação, mas o currículo falha com a mensagemstart failed.

questionAnswers(1)

yourAnswerToTheQuestion