我正在尝试在安卓上制作一个 gif 应用程序。gif被制作并保存在ExternalStoragePublicDirectory中。现在,我正在尝试获取这些文件,并通过将文件传递给适配器,使用MediaMetadataReteiver在回收器视图中显示它。下面是 onBindViewHolder(( 中的代码。
Log.d("GifAdapter: ", files[position].getAbsolutePath());
try {
retriever.setDataSource(files[position].getAbsolutePath());
holder.mImageView.setImageBitmap(retriever.getFrameAtTime(1000000, OPTION_CLOSEST_SYNC));
} catch (Exception e) {
e.printStackTrace();
}
它给了我运行时异常:set数据源失败:状态 = 0x80000000。 我尝试使用包含视频文件的其他目录。它奏效了,我得到了要显示的框架。但是当我将它与 gif 一起使用时,它会给我运行时异常。我应该怎么做才能显示 gif。谢谢!
使用滑动显示 GIF。它将为您处理 GIF 和图像
https://github.com/bumptech/glide