0

我有一个ListView,我想用视频形式填充URL。我可以通过URL轻松地在ListView适配器中显示图片,但是如何加载视频缩略图?如何从视频Url在ListView适配器中加载视频缩略图

+0

您可以分享您的JSON响应或您调用的API。 –

+0

是的,我得到所有的视频和图像的确切路径,但图像如何和视频thumnail没有显示 –

+1

许多图像加载库,如毕加索,可以为您获得缩略图,当你提供'Uri'的视频。 – CommonsWare

回答

5

您可以使用MediaMetadataRetriever来获得您的视频缩略图。

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

我可以使用这个里面的listview适配器更多thumnails加载? –

+0

@它可以在listviewadapter中加载一个视频thumnails,但不能在同一列表中加载其他视频的更多thumnails –

+0

您必须在接收位图并更新适配器的imageview后实现回调。 –