【问题标题】:Glide load thumbnail not working滑动加载缩略图不起作用
【发布时间】:2016-05-15 07:18:20
【问题描述】:

我正在使用 Glide 从视频中加载缩略图,但它似乎不适用于我的应用程序。由于某种原因,ImageView 只是空的。

Glide.with(context)
            .load(url)
            .asBitmap()
            .thumbnail(0.1f)
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .into(target);

我添加了一个监听器,所以我可以找出问题所在,但抛出的异常为空。

我尝试使用 ThumbnailUtils 使用相同的 url,因为我认为它可能有问题,但缩略图加载正常。

有人有同样的经历吗?我使用的是 Nexus 7 (6.0.1)

【问题讨论】:

    标签: android android-glide


    【解决方案1】:

    即使我偶然发现了同样的情况。不知何故,它不会从 uri 加载图像,除非使用本地文件路径创建文件实例。所以为了让它工作,我像下面这样使用它

    Glide.with(mContext).load(Uri.fromFile(new File(path)).into(icon);
    

    在文档中,他们使用相同的方法。你可以参考这里:Glide - Videos

    除此之外,我还注意到使用缓存的异常行为。如果您使用缓存策略作为 DiskCacheStrategy.ALL 或 DiskCacheStrategy.SOURCE 它不会加载缩略图,但如果我使用 DiskCacheStrategy.RESULT 它可以工作。希望对你有帮助

    【讨论】:

    • 我使用这个解决方案已经很久了,但我仍然在寻找 thumb 获取 audioFile
    【解决方案2】:

    如 Glide 文档中所述,此功能仅适用于设备上本地存储的视频

    此外,您应该使用/storage/emulated/0/Pictures/example_video.mp4 之类的路径。在此路径之前添加file:/// 也不起作用。

    您可以在这里找到更多信息:https://futurestud.io/blog/glide-displaying-gifs-and-videos

    干杯!

    【讨论】:

    • 是的。我正在从设备 SD 卡中的视频加载缩略图,不幸的是它根本没有加载
    • 就我而言,我不使用 .asBitmap() 选项。但我想你已经尝试了所有的方法......它可能与 Android 版本有关吗?
    【解决方案3】:

    您可以使用覆盖,这肯定有效:

    Glide.with(context)
             .load(url)
             .crossFade()
             .override(width, height)
             .into(imageView);
    

    【讨论】:

      【解决方案4】:
      Glide.with(mcontext)
                      .applyDefaultRequestOptions(RequestOptions.centerCropTransform()
                              .diskCacheStrategy(DiskCacheStrategy.RESOURCE))
                      .load(videourl)
                      .into(thumbnailimg);
      

      尝试使用此代码

      【讨论】:

        【解决方案5】:
        @BindingAdapter("videoThumbnailFromUrl")
        fun setImageFromVideoUrl(imageView: ImageView, url: String) {
           val thumb = 10000L
           val options = RequestOptions().frame(thumb)
           Glide.with(imageView.context).load(url).apply(options).placeholder(R.drawable.place_holder).into(imageView)
        }
        

        【讨论】:

          猜你喜欢
          • 2012-08-30
          • 1970-01-01
          • 2014-10-28
          • 2014-05-28
          • 2017-05-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多