AnimationDrawable缺少帧

时间:2014-05-03 22:50:49

标签: android frames animationdrawable

我正在尝试使用AnimationDrawable对象显示一组位图。出于某种原因,在UI中呈现视图时,某些图像会丢失:

...
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(mContext, videoUri);
...
AnimationDrawable frameAnimation = new AnimationDrawable();
for(int i=0; i < numberOfFrames; i++) {
    Bitmap frame = retriever.getFrameAtTime(i * 500 * 1000); // get 2 frames per second
    frameAnimation.addFrame(new BitmapDrawable(getResources(), frame), 100); // 
}
...
frameAnimation.setOneShot(false);
frameAnimation.start();

调用frameAnimation.getNumberOfFrames()会返回正确的帧数(比如说4为2秒的剪辑)。

问题是frameAnimation.start()仅在UI中显示这些帧的子集(例如frameAnimation可以有17个帧,并且只播放4个帧。)

为什么AnimationDrawable对象在循环其帧时缺少位图?

谢谢!

0 个答案:

没有答案