滑动加载缩略图不起作用

时间:2016-02-05 10:40:48

标签: android android-glide

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

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

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

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

有没有经历过相同的人?我正在使用Nexus 7(6.0.1)

5 个答案:

答案 0 :(得分:7)

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

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

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

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

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

此外,您应该使用/storage/emulated/0/Pictures/example_video.mp4之类的路径。在此路径之前添加file:///也无法解决问题。

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

干杯!

答案 3 :(得分:0)

SEGMENT CREATION DEFERRED

尝试使用此代码

答案 4 :(得分:0)

@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)
}