2017-09-07 3 views
1

Mein Code sah wie folgt laden: ZugriffGlide 4.0.0 nicht GIFs von URL mit einer seltsamen Größenänderung und DECODEPATH gibt

GlideApp.with(c) 
    .asGif() 
    .load(pathToPicture) 
    .into(memePicView); 

Dieses saldiert mir folgenden stacktrace

W/Glide: Load failed for https://img.memecdn.com/japan-strikes-again_webm_3923465.gif with size [-2147483648x-2147483648] 
    class com.bumptech.glide.load.engine.GlideException: Failed to load resource 
     Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Failed LoadPath{ContentLengthInputStream->GifDrawable->GifDrawable}, REMOTE 
      Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Failed DecodePath{ContentLengthInputStream->GifDrawable->GifDrawable} 

Ich konnte sagte gif aus dem Browser, und die Größe dieses Gif ist nicht [-2147483648x-2147483648]. Gab es eine Einstellung, die ich vermisste, und muss ich ein integriertes App Glide Module implementieren? Ein oder Volley?

EDIT: Ja, ich habe die Internet-Erlaubnis in meinem Manifest. Falls jemand fragt.

EDIT2: Ich habe versucht, das GIF in das interne Datenverzeichnis der App zu laden und es von dort mit Glide zu laden. Immer noch keine Würfel mit genau dem gleichen Fehler, außer dass ContentLengthInputStream durch FileInputStream ersetzt wird.

+0

funktioniert es mit einfachen Bildern? –

Antwort

0

Versuchen Sie, die gif mit ion Bibliothek zu laden:

Ion.with(imageView) 
.placeholder(R.drawable.placeholder_image) 
.error(R.drawable.error_image) 
.animateLoad(spinAnimation) 
.animateIn(fadeInAnimation) 
.load("http://example.com/image.png"); 
+0

Funktioniert leider auch nicht. – Gensoukyou1337

2

https://img.memecdn.com/japan-strikes-again_webm_3923465.gif kein GIF ist. Es sieht wie ein Webm aus, welches ein Filmformat ist. Nicht sicher, warum, aber viele Websites verwenden die Erweiterung .gif für Nicht-Gif-Dateien, einschließlich animierter Web- und Filmdateien.

+1

Also sollte ich 'asVideo()' stattdessen verwenden, und was ist mit Wiedergabesteuerung in diesem Fall? – Gensoukyou1337

+0

Glide beschäftigt sich nicht wirklich mit der Videowiedergabe. Es kann Video-Thumbnails gut für lokale Inhalte anzeigen, aber Videos werden nicht direkt wiedergegeben. Sehen Sie sich VideoView oder ExoPlayer an, wenn Sie mit der Videowiedergabe arbeiten möchten: https://developer.android.com/reference/android/widget/VideoView.html, https://developer.android.com/guide/topics/media /exoplayer.html –

Verwandte Themen