Я пытаюсь приостановить запись входящего звонка и возобновить его позже. Я использую andriod mediarecorder
и пытаюсь записать в MPEG4
. Я попытался сделать паузу / возобновить, сбросив / остановив запись и начав ее с setOutputFile(fd)
, fd
, являющейся filedescriptor
звукового файла, который был остановлен / приостановлен, и надеялся, что он добавится, но мне не повезло. Есть ли способ добиться этого или добавить две записи, или я должен отказаться от 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
.