【问题标题】:mediarecorder how to pause and resume recording videomediarecorder 如何暂停和恢复录制视频
【发布时间】:2015-12-01 12:28:06
【问题描述】:

所以我想关于我要问的问题有很多问题。但是有没有人找到可以在录制电影期间暂停的解决方案或库?或者有没有稳定的可以连接多个mp4文件的api?

【问题讨论】:

    标签: android android-camera android-mediaplayer android-mediarecorder


    【解决方案1】:

    Mp4Parser 是基于 java 的库,可让您操作 h264 和 aac 编码流。它不是编码器或解码器。但您可以连接或修剪流、切换流或将流添加到 mp4 容器等。

    为了实现暂停/恢复功能,您可以使用 MediaRecorder 在用户每次按下暂停(然后恢复)时创建新的录制文件。 因此您将拥有多个 mp4 文件,然后您可以使用 Mp4Parser 将它们拼接在一起。

    这个解决方案的问题:

    Recorded mp4 文件中的每个流都有不同的长度(差异将在 ~100 毫秒内。至少这是我注意到的)。当您拼接超过 4-5 个文件时,音频和视频将不同步。

    因此,在拼接视频之前,您可以使用库剪切/修剪最长的流以匹配另一个流。由于库不是编码器/解码器,因此您只能剪切/修剪整个帧(音频或视频)。但是,这仍然会减少流长度之间的差异。这种丢帧并不总是很明显,因此您可能会侥幸逃脱。

    库存储库中有足够的示例,因此我不会在此处发布任何代码。 Here 是另一个帖子,我相信它与我提到的第一步类似(我还没有尝试过 OP 提到的代码)。

    【讨论】:

      【解决方案2】:

      在 Android API 24 及更高版本中,您可以访问 'MediaRecorder.pause()' 和 'MediaRecorder.resume()' 方法,让您可以像什么都没发生一样暂停和恢复录制

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-26
        • 1970-01-01
        • 2011-12-21
        • 2015-09-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多