android - 通用图像加载器给出错误图像无法解码android

标签 android universal-image-loader

我在 girdview 中使用通用图像加载器。有些视频可以很好地改变图像,有些则不起作用并给出这样的错误,

03-17 12:49:52.287: D/skia(21755): --- SkImageDecoder::Factory returned null
03-17 12:49:52.287: E/ImageLoader(21755): Image can't be decoded [file:////storage/sdcard0/Movies/Naruto Episodes 55.mp4_270x270]

这是我在主类中的代码。

     DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
            .cacheOnDisc(true).cacheInMemory(true)
            .imageScaleType(ImageScaleType.EXACTLY)
            .displayer(new FadeInBitmapDisplayer(300)).build();

    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
            getApplicationContext())
            .defaultDisplayImageOptions(defaultOptions)
            .memoryCache(new WeakMemoryCache())
            .discCacheSize(100 * 1024 * 1024).build();

    ImageLoader.getInstance().init(config);

这是adpater中的代码,

    String url = "/storage/sdcard0/Movies/Naruto Episodes 55.mp4";


    ImageLoader imageLoader = ImageLoader.getInstance();
    DisplayImageOptions options = new DisplayImageOptions.Builder().cacheInMemory(true)
                    .cacheOnDisc(true).resetViewBeforeLoading(true)
                    .showImageForEmptyUri(R.drawable.x_document_icon)
                    .showImageOnFail(R.drawable.x_document_icon)
                    .showImageOnLoading(R.drawable.x_document_icon).build();

    //initialize image view


    //download and display image from url
    imageLoader.displayImage("file:///"+url, img_btn, options);

以下代码工作正常,但需要一些时间。

   Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(url, 0);
   img_btn.setImageBitmap(bitmap);

最佳答案

您的文件名包含空格有一个 issue posted在 Github 上。根据评论,这个解决方案有效,但我还没有尝试过:

if (file.exists()) {
    final String uri = Uri.fromFile(file).toString();
    final String decoded = Uri.decode(uri);
    ImageLoader.getInstance().displayImage(decoded, imageView);
}

根据您的评论,这应该有效:

String url = "/storage/sdcard0/Movies/Naruto Episodes 55.mp4";
imageLoader.displayImage("file:///"+Uri.decode(url), img_btn, options);

关于android - 通用图像加载器给出错误图像无法解码android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29091093/

相关文章:

java - 使用不同的线程自动更新 UI

android - Jetpack Compose 减少选项卡的内部填充

Android-Universal-Image-Loader 不会在 gridview 中滚动加载图像

android - 位图太大而无法上传到纹理(通用图像加载器)

android - 在 Android 通用图像加载器中实现 GridView 并在图像下方添加文本

android - 像 iphone 的通用图像加载器这样的库-(在 monotouch 和 monodroid 中使用 android 库)

android - ACTION_BOOT_COMPLETED 有什么替代方案吗?手机开机后,我需要尽快提供 Intent/操作(/解决方法)

javascript - 在 Android 上从 JavaScript 访问 UI

java - 我怎样才能在Android java中 "kill"Intent

android - 使用 Universal Image Loader 在 vi​​ewpager 上启用缩放?