【问题标题】:Saving first and last frame of a video as an image on Android在 Android 上将视频的第一帧和最后一帧保存为图像
【发布时间】:2011-12-13 09:01:22
【问题描述】:

我想将视频的第一帧和最后一帧保存为图像。

有什么办法吗?

【问题讨论】:

标签: android video frame


【解决方案1】:

您可能想看看MediaMetadataRetriever 类。

更具体地说是它的getFrameAtTime(long) 方法。

要获取最后一帧的时间,请使用getDuration(),它将返回视频的时长。

注意:这 API 级别 10 可用!

【讨论】:

  • 我有这个问题:如果我把retriever.getFrameAtTime(0) 我从我的视频(不是第一帧)的某个地方得到一个帧。对于retriever.getFrameAtTime(myVideoView.getDuration()) 或retriever.getFrameAtTime(myVideoView.getCurrentPosition()) 我有同样的问题。第一帧和最后一帧的视频时间是多少:?
  • 使用retriever.getFrameAtTime(0, MediaMetadataRetriever.OPTION_CLOSEST); 和最后一帧一样
  • @Gabrielle 视频存储为 Intra 和 non Intra(图片帧)此 API 将返回最接近的非 Intra 帧。
  • 是否有其他人看到 getFrameAtTime 存在问题,无论您传入哪个时间,它都只返回第一帧的位图?
  • 对此有任何解决方案吗?我看到在我通过的任何时候都会出现相同的帧。
【解决方案2】:

您可以使用MediaMetadataRetriever 类。

还有方法getFrameAtTime(timeUs) 方法。 timeUs 以微秒为单位。

【讨论】:

    猜你喜欢
    • 2011-04-04
    • 2020-11-26
    • 1970-01-01
    • 2021-05-05
    • 2011-07-11
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    相关资源
    最近更新 更多