【问题标题】:How to pause/resume a recording created with mediarecorder?如何暂停/恢复使用 mediarecorder 创建的录音?
【发布时间】:2011-12-21 21:39:46
【问题描述】:

我正在尝试暂停来电录音,稍后再恢复。我正在使用安卓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

【问题讨论】:

    标签: java android append audio-recording mediarecorder


    【解决方案1】:

    您的问题的简单答案是NO YOU CAN'T

    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 文件和Combine using this format

    【讨论】:

    • 知道如何附加两个 m4a 文件吗?
    • @Pannu 你看帖子了吗?
    • 是的,虽然它很有帮助,但我相信它与合并 WAVE/PCM 文件有关。不适用于m4a (MPEG-4)
    • @Pannu 据我所知,我们只能合并 .wav 和 RAW_AMR 格式的文件。
    • 好吧,我要将mEncoderffmpeg 移植到android 并尝试合并,这似乎是一个可能的解决方案。
    猜你喜欢
    • 2015-12-01
    • 2012-07-24
    • 1970-01-01
    • 2015-08-26
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多