如何暂停/继续使用mediarecorder创建的录制?


问题内容

我正在尝试在来电中暂停录音并在以后恢复录音。我正在使用andriod
mediarecorder并尝试在中录制MPEG4。我尝试通过重设/停止录音来暂停/恢复,并以开头setOutputFile(fd)fdfiledescriptor已停止/暂停的音频文件的,希望它可以追加,但是我没有运气。有没有办法实现这一目标或追加两张录音,或者我应该放弃mediarecorder

码:

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()停止录制,但恢复失败并显示消息start failed


问题答案:

您问题的简单答案是: 您不能吗?

Once you are recording the only possible actions are stop and reset.

因此,在Stop停止后,尝试保存对SDCard的呼叫,然后再次启动Fresh Record并停止它。Finally Combine both Audio File into one Audio file

将音频记录为.wav文件,并使用此格式进行合并。