【问题标题】:Android - callback for MediaRecorder started recordingAndroid - MediaRecorder 的回调开始录制
【发布时间】:2014-09-03 17:00:24
【问题描述】:

我的应用需要录制最长 8 秒的视频。这已经通过 MediaRecorder.setMaxDuration(long milliseconds) 实现。 该应用还需要顶部的进度条和带有倒计时剩余时间的标签。

这里的问题是 UI 和 MediaRecorder 进度之间存在偏移,这会导致用户感到困惑。例如,用户认为他/她录制了一些内容,因为 UI 中的进度是这样说的,但媒体录制器提前一秒切断了视频。

挑战是在记录器实际开始记录的同时启动进度条和计数器。 我尝试在 MediaRecorder.start() 之后启动计时器,在第一次修改创建的文件时的回调中,但我还没有找到以正确方式实现此目的的方法。我们尝试为这些值设置一个硬编码的偏移量,但当然不是每个设备都一样。

我希望 MediaRecorder 有一个回调来通知它实际上已经开始录制视频,或者可能是当前长度。

问题清楚了吗?以前有人解决过这个问题吗?

【问题讨论】:

    标签: android callback android-progressbar mediarecorder android-mediarecorder


    【解决方案1】:

    MediaRecorder 已经知道提前切断音频的问题。我用一个按钮实现了一个录音机——单击按钮停止录音机实际上会产生一个音频文件,最后一秒被切断。 不确定您的 UI 偏移是否是一个单独的问题,但我会在用户尝试结束 MediaRecorder 后尝试将其延长半秒。您可以通过将最大时间更改为 8.5 秒来执行此操作,或者仅使用以下代码行:

       android.os.SystemClock.sleep(500);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多