这里尝试在Android上播放动画GIF(请参见Android: How do a display a large animated gif given a url?)。但效果并不流畅。在Android 1.5上,Movie.decodeStream() / decodeFile()返回null。在我拥有的GIF文件中,Android 1.6返回的电影大小为零,持续时间为零 - 显然是不足够的。
所引用的问题建议将GIF分成帧(然后呈现这些帧)。请问我该如何做到这一点?
编辑:尝试在Windows中使用GNU giflib打开我的GIF之一。它在第一帧上就卡住了。 GIF本身是正确的,所有浏览器(保存Android的)都可以正确显示和动画化。
编辑2:使用giflib 4.1.4成功。不确定4.1.6中有什么问题,但是让我们继续。下一步:通过NDK为Android构建giflib,以某种方式与Bitmap类集成。
编辑3:Giflib已经准备好了。与Bitmap.copyPixelsFromBuffer一起使用。颜色现在都错了,但基本设计似乎可行。