【问题标题】:Android MediaRecorder - Stop and Immediately Start RecordingAndroid MediaRecorder - 停止并立即开始录制
【发布时间】:2015-05-07 13:04:11
【问题描述】:

我希望能够录制视频,停止,然后立即重新开始(即没有延迟)。问题是在停止和启动之间,当 MediaRecorder 停止、设置为正确状态并重新启动时,我的手机最多丢失 1.5 秒。

我在 StackOverflow here 上发布了我的代码基础。

此代码的自动停止启动产生了以下关键时间:

  • 510(停止录制的小数秒)
  • 490(fs 释放相机)
  • 710(fs 开始录音)

我尝试了 2 个媒体记录器,但最终出现了非法状态异常,并且认为媒体记录器不能重复使用。

根据Androiddocumentation,mediarecorder对象不能被复用。

有没有办法立即开始另一个视频录制?

【问题讨论】:

  • 如果您想要绝对零延迟,您可能需要连续录制并中断录制。你想做什么?
  • @fadden:我不确定 HockeyJ 想要做什么,但我已经看到几个未回答的 SO 问题,这些问题与尝试录制长视频时出现的问题有关 link 一种解决方法要分块记录。但是停止和启动会导致严重的丢帧。

标签: android android-camera android-mediarecorder


【解决方案1】:

当需要停止录制时,调用 stop() 方法。如果您想在此之后继续录制,请调用 reset() 以强制 MediaRecorder 回到空闲状态。 然后重新配置数据源,再次准备MediaRecorder:

Medirecorder.start();
//something else...
Mediarecorder.stop();
//something else...

Medirecorder.reset(); //if you need recording continue
// start(), stop() or what if you need something else

Mediarecorder.release(); // everthing is over 

//if you need start again you should prepare() called before start()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多