在Java Android中获取GIF持续时间的最佳方法是什么?

时间:2015-04-06 02:22:12

标签: android gif duration

我找到了获得GiF持续时间的方法。是否有像Gif的getDuration()这样的函数?

2 个答案:

答案 0 :(得分:7)

您可以将GIF打开为Movie并检查持续时间:

    InputStream is = getResources().openRawResource(R.raw.my_gif);
    Movie movie = Movie.decodeStream(is);
    int duration = movie.duration();

持续时间以毫秒为单位。

答案 1 :(得分:0)

@samgak给出的答案运行良好,并且如果输入视频来自资产(原始)文件夹,则该方法也有效。

但是,如果我们从设备存储中输入了视频路径,则只需将videoPath传递给Movie类,如下所示:

Movie movie = Movie.decodeStream(videoPath);
int duration = movie.duration();

并且工作正常(对我来说,它工作得很好,只是一个小问题是它需要更长的时间来计算持续时间)。