Миниатюра скольжения не работает

Я использую Glide для загрузки эскизов из видео, но он, похоже, не работает в моем приложении. По какой-то причине ImageView просто пуст.

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

Я добавил слушателя, так что я могу выяснить, что не так, но исключение выбрано null.

Я попытался использовать ThumbnailUtils, используя тот же URL-адрес, потому что я думал, что с ним что-то не так, но эскизы загружаются отлично.

Кто-то испытывает то же самое? Я использую Nexus 7 (6.0.1)

Даже я наткнулся на ту же ситуацию. Как-то из uri не загружается изображение, если только не создается экземпляр файла с использованием локального пути к файлу. Чтобы заставить его работать, я использовал его, как показано ниже.

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

В документе они используют один и тот же подход. Вы можете ознакомиться здесь: Glide – Видео

Кроме того, я заметил также необычное поведение использования кеша. Если вы используете стратегию кеша как DiskCacheStrategy.ALL или DiskCacheStrategy.SOURCE, она не загружает миниатюру, но если я использую DiskCacheStrategy.RESULT, она работает. Надеюсь, поможет

Как поясняется в документации Glide, эта функция доступна только для видео, хранящихся локально на устройстве.

Кроме того, вы должны использовать путь, например /storage/emulated/0/Pictures/example_video.mp4 . Добавление file:/// до того, как этот путь не будет работать.

Вы можете найти более подробную информацию здесь: https://futurestud.io/blog/glide-displaying-gifs-and-videos

Приветствия!

Вы можете использовать переопределение, которое, безусловно, работает:

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