2015-03-17 3 views
5

Ich benutze Universal Image Loader in girdview. Einige Videos sind feines Bild zu ändern, und einige sind nicht und geben Fehler wie das,Universelles Bild loader geben Fehlerbild kann nicht entschlüsselt werden android

03-17 12:49:52.287: D/skia(21755): --- SkImageDecoder::Factory returned null 
03-17 12:49:52.287: E/ImageLoader(21755): Image can't be decoded [file:////storage/sdcard0/Movies/Naruto Episodes 55.mp4_270x270] 

Hier mein Code in Hauptklasse ist.

 DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder() 
      .cacheOnDisc(true).cacheInMemory(true) 
      .imageScaleType(ImageScaleType.EXACTLY) 
      .displayer(new FadeInBitmapDisplayer(300)).build(); 

    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
      getApplicationContext()) 
      .defaultDisplayImageOptions(defaultOptions) 
      .memoryCache(new WeakMemoryCache()) 
      .discCacheSize(100 * 1024 * 1024).build(); 

    ImageLoader.getInstance().init(config); 

Hier ist Code in Adpater,

String url = "/storage/sdcard0/Movies/Naruto Episodes 55.mp4"; 


    ImageLoader imageLoader = ImageLoader.getInstance(); 
    DisplayImageOptions options = new DisplayImageOptions.Builder().cacheInMemory(true) 
        .cacheOnDisc(true).resetViewBeforeLoading(true) 
        .showImageForEmptyUri(R.drawable.x_document_icon) 
        .showImageOnFail(R.drawable.x_document_icon) 
        .showImageOnLoading(R.drawable.x_document_icon).build(); 

    //initialize image view 


    //download and display image from url 
    imageLoader.displayImage("file:///"+url, img_btn, options); 

Der folgende Code Arbeit in Ordnung, aber es einige Zeit dauern.

Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(url, 0); 
    img_btn.setImageBitmap(bitmap); 
+1

Bild Sie versuchen, ungültige Erweiterung zu dekodieren oder Last aufweist. 'file: //// storage/sdcard0/Filme/Naruto Episoden 55.mp4_270x270' debuggen und überprüfen, was genau URL UIL holt. – SilentKiller

Antwort

0

Ihr Dateiname enthält Leerzeichen gibt es ein issue posted in Github. Basierend auf den Kommentaren diese Lösung funktioniert, obwohl ich es noch nicht ausprobiert haben:

if (file.exists()) { 
    final String uri = Uri.fromFile(file).toString(); 
    final String decoded = Uri.decode(uri); 
    ImageLoader.getInstance().displayImage(decoded, imageView); 
} 

Wie pro Ihren Kommentar sollte diese Arbeit:

String url = "/storage/sdcard0/Movies/Naruto Episodes 55.mp4"; 
imageLoader.displayImage("file:///"+Uri.decode(url), img_btn, options); 
+0

wo sollte ich diesen Code setzen? :) – Halo

+0

@Halo siehe die Bearbeitung –

+0

Es hat nicht funktioniert .Nach dem tun, wie Sie sagten, einige der feinen Arbeit auch falsch. :( – Halo