【问题标题】:Android gif making安卓gif制作
【发布时间】:2015-09-06 12:05:31
【问题描述】:

我有一个问题:

我在这个网站上使用代码:android-er 来制作一个 gif。

问题:当我制作视频并尝试将其转换为 GIF 时(视频为 10 秒。)我只能获得最大。视频中的 10 帧。 当我改变这个:

for(int i=0; i<100; i+=10){
  long frameTime = maxDur * i/100;
  bmFrame = mediaMetadataRetriever.getFrameAtTime(frameTime);
  animatedGifEncoder.addFrame(bmFrame);
  publishProgress(i);
}

制作更多帧:(for i=0;i&lt;100;i+=2) 它没有显示 50 帧。它只显示 10 帧,其余 40 帧是那 10 帧的副本。它只需要关键帧,我尝试使用 getFrameAtTime(frameTime, OPTION_CLOSEST) 并且它是相同的。 我希望你能理解我的问题。 谢谢

【问题讨论】:

    标签: android video animated-gif


    【解决方案1】:

    bmFrame = mmRetriever.getFrameAtTime(time*1000, MediaMetadataRetriever.OPTION_CLOSEST_SYNC);

    第一个参数 -> μs; 第二个参数 -> 使用 OPTION_CLOSEST_SYNC

    【讨论】:

    • 您好,时间已经以 μs 为单位,我已经使用了每个选项:OPTION_CLOSEST (_SYNC)、OPTION_PREVIOUS(_SYNC)、OPTION_NEXT。它没有用。它只显示关键帧
    • 如果有很多空指针异常,这是我的代码,希望有用: oschina.net/code/snippet_266004_50774 但我也有几个问题没有解决: 1. GIF文件我需要压缩它, 2.有时OOM
    猜你喜欢
    • 2011-12-04
    • 1970-01-01
    • 2013-12-23
    • 2016-12-06
    • 2017-02-25
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多