J'utilise Glide pour charger des vignettes à partir de vidéos, mais cela ne semble pas fonctionner sur mon application. ImageView est simplement vide pour une raison quelconque.
Glide.with(context)
.load(url)
.asBitmap()
.thumbnail(0.1f)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(target);
J'ai ajouté un auditeur afin que je puisse comprendre ce qui ne va pas, mais l'exception levée est nulle.
J'ai essayé d'utiliser ThumbnailUtils en utilisant la même URL parce que je pensais que quelque chose n'allait pas, mais la vignette se chargeait bien.
Quelqu'un qui vit la même chose? J'utilise un Nexus 7 (6.0.1)
Même je suis tombé sur la même situation. D'une manière ou d'une autre, l'URI ne charge pas l'image à moins de créer une instance de fichier en utilisant le chemin d'accès local. Donc, pour que cela fonctionne, je l'ai utilisé comme ci-dessous
Glide.with(mContext).load(Uri.fromFile(new File(path)).into(icon);
Dans la doc, ils utilisent la même approche. Vous pouvez vous référer ici: Glide - Vidéos
En dehors de cela, j'ai également remarqué un comportement inhabituel lors de l'utilisation de la mémoire cache. Si vous utilisez la stratégie de cache en tant que DiskCacheStrategy.ALL ou DiskCacheStrategy.SOURCE cela ne charge pas la vignette mais si j'utilise DiskCacheStrategy.RESULT cela fonctionne. J'espère que ça aide
Vous pouvez utiliser le remplacement, ce qui fonctionne sûrement:
Glide.with(context)
.load(url)
.crossFade()
.override(width, height)
.into(imageView);
Comme expliqué dans la documentation de Glide, cette fonctionnalité n'est disponible que pour les vidéos stockées localement sur le périphérique.
En outre, vous devez utiliser un chemin tel que /storage/emulated/0/Pictures/example_video.mp4
. Ajouter file:///
avant ce chemin ne fonctionnera pas non plus.
Vous pouvez trouver plus d'informations ici: https://futurestud.io/blog/glide-displaying-gifs-and-videos
À votre santé !
Glide.with(mcontext)
.applyDefaultRequestOptions(RequestOptions.centerCropTransform()
.diskCacheStrategy(DiskCacheStrategy.RESOURCE))
.load(videourl)
.into(thumbnailimg);
Essayez d'utiliser ce code