0

Ich habe eine ListView und ich möchte es mit Video-Form eine URL zu füllen. Ich kann Bilder im ListView-Adapter einfach über URL anzeigen, aber wie wird ein Video-Thumbnail geladen?Wie lade ich Video Thumbnail aus Video URL in ListView Adapter

+0

Können Sie Ihre JSON-Antwort oder API teilen, die Sie angerufen haben.! –

+0

Ja, ich bekomme den genauen Pfad von Video und Bildern, aber die Bilder wie und Video thumnail zeigt nicht –

+1

Viele Bibliotheken zum Laden von Bildern, wie Picasso, können das Thumbnail für Sie erhalten, wenn Sie dem Video den 'Uri' zur Verfügung stellen . – CommonsWare

Antwort

5

Sie können MediaMetadataRetriever verwenden, um Ihre Video-Miniaturansicht zu erhalten.

new AsyncTask<Void, Void, Bitmap>() { 

    @Override 
    protected Bitmap doInBackground(Void... params) { 
     Bitmap bitmap = null; 
     String videoPath = "http://techslides.com/demos/sample-videos/small.mp4"; 
     MediaMetadataRetriever mediaMetadataRetriever = null; 
     try { 
      mediaMetadataRetriever = new MediaMetadataRetriever(); 
      if (Build.VERSION.SDK_INT >= 14) 
       // no headers included 
       mediaMetadataRetriever.setDataSource(videoPath, new HashMap<String, String>()); 
      else 
       mediaMetadataRetriever.setDataSource(videoPath); 
      // mediaMetadataRetriever.setDataSource(videoPath); 
      bitmap = mediaMetadataRetriever.getFrameAtTime(); 
     } catch (Exception e) { 
      e.printStackTrace(); 

     } finally { 
      if (mediaMetadataRetriever != null) 
       mediaMetadataRetriever.release(); 
     } 
     return bitmap; 
    } 

    @Override 
    protected void onPostExecute(Bitmap bitmap) { 
     super.onPostExecute(bitmap); 
     if (bitmap != null) 
      ((ImageView) findViewById(R.id.your_image_id)).setImageBitmap(bitmap); 
    } 
}.execute(); 
+0

Kann ich diesen ListView-Innenadapter verwenden, um mehr Thumails zu laden? –

+0

@ Es kann ein Video thumnails in listviewadapter laden, aber kann nicht mehr thumnails für andere videos in demselben listviewadapter laden –

+0

Sie müssen einen Callback implementieren, nachdem Sie eine Bitmap erhalten haben, und den Imageview Ihres Adapters aktualisieren. –

Verwandte Themen