2016-02-05 15 views
7

Sto utilizzando Glide per caricare le miniature dei video ma sembra che non funzioni sulla mia app. ImageView è vuoto per qualche motivo.Miniatura di caricamento glide non funzionante

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

Ho aggiunto un listener, così posso capire cosa c'è che non va, ma l'eccezione generata è nulla.

Ho provato a utilizzare ThumbnailUtils utilizzando lo stesso url perché ho pensato che ci potrebbe essere qualcosa di sbagliato con esso, ma la miniatura si carica bene.

Qualcuno sta vivendo lo stesso? Sto usando un Nexus 7 (6.0.1)

risposta

1

Come spiegato nella documentazione di Glide, questa funzione è disponibile solo per i video memorizzati localmente sul dispositivo.

Inoltre, è necessario utilizzare un percorso come /storage/emulated/0/Pictures/example_video.mp4. Aggiungere file:/// prima che questo percorso non funzioni.

È possibile trovare maggiori informazioni qui: https://futurestud.io/blog/glide-displaying-gifs-and-videos

Cheers!

+0

Yup. Sto caricando una miniatura dai video nella scheda SD del dispositivo, purtroppo non viene caricata affatto – kishidp

+0

Per quanto mi riguarda, non uso l'opzione .asBitmap(). Ma immagino tu abbia già provato tutto su quello ... È collegato forse alla versione di Android? –

7

Anche io sono incappato nella stessa situazione. In qualche modo dall'URI non sta caricando l'immagine a meno di creare un'istanza di file utilizzando il percorso del file locale. Quindi per farlo funzionare l'ho usato come sotto

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

Nel doc stanno usando lo stesso approccio. È possibile fare riferimento qui: Glide - Videos

Oltre a ciò, ho notato anche un comportamento insolito dell'utilizzo della cache. Se si utilizza la strategia di cache come DiskCacheStrategy.ALL o DiskCacheStrategy.SOURCE non viene caricata la miniatura, ma se sto utilizzando DiskCacheStrategy.RESULT funziona. Speranza che aiuta

+0

non funziona .... – theLazyFinder

+0

DiskCacheStrategy.RESULT ha funzionato per me, grazie! – Themos

1

È possibile utilizzare override, che funziona sicuramente:

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