RuntimeException:setDataSource failed:status = 0x80000000 using MediaMetaDataRetreiver

时间:2018-05-16 09:06:01

标签: android gif runtimeexception mediametadataretriever

我正在尝试在Android上制作一个gif应用程序。制作GIF并将其保存在ExternalStoragePublicDirectory中。现在我试图通过将文件传递给适配器来使用MediaMetadataReteiver获取这些文件并在recyclelerview中显示它们。下面是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();
}

它给我RuntimeException:setDataSource failed:status = 0x80000000。 我尝试使用包含视频文件的其他目录。它工作,我得到框架显示。但是,当我使用它与GIF时,它给我运行时异常。我应该怎么做才能显示GIF。谢谢!

1 个答案:

答案 0 :(得分:0)

使用Glide显示Gif。它会为你处理GIF和图像

https://github.com/bumptech/glide