0

У меня есть ListView, и я хочу заполнить его видеороликом URL-адреса. Я могу легко показать изображения в адаптере ListView из URL-адреса, но как загрузить миниатюру видео?Как загрузить видео Thumbnail из видео Url в адаптере ListView

+0

Вы можете поделиться своим ответом JSON или API, который вы назвали.! –

+0

Да, я получаю все точные пути видео и изображений, но изображения, как и видеоролики не отображаются –

+1

Многие библиотеки загрузки изображений, такие как Picasso, могут получить миниатюру для вас, когда вы предоставите '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 для загрузки большего количества загрузок? –

+0

@ Он может загружать один видеоролик в listviewadapter, но не может загружать больше потоков для других видеороликов в один и тот же listviewadapter. –

+0

Вы должны реализовать обратный вызов после получения растрового изображения и обновления изображения вашего адаптера. –

Смежные вопросы