【问题标题】:How to Load Video Thumbnail From Video Url in ListView adapter如何从 ListView 适配器中的视频 URL 加载视频缩略图
【发布时间】:2017-01-31 11:15:37
【问题描述】:

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

【问题讨论】:

  • 你能分享你调用的 JSON 响应或 API 吗?!
  • 是的,我得到了视频和图像的所有确切路径,但图像和视频缩略图没有显示
  • 很多图片加载库,比如毕加索,都可以在你为视频提供Uri时为你获取缩略图。

标签: android listview android-arrayadapter android-videoview listview-adapter


【解决方案1】:

您可以使用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();

【讨论】:

  • 我可以在 listview 适配器中使用这个来加载更多缩略图吗?
  • @listviewadapter可以加载一个视频的缩略图,但是同一个listviewadapter不能加载其他视频的多个缩略图
  • 您必须在收到位图并更新适配器的图像视图后实现回调。
  • 请问我是怎么做的,你能告诉我吗,我真的被困在这个 listviewadapter 中了
猜你喜欢
  • 2017-12-04
  • 2011-05-25
  • 2017-03-01
  • 1970-01-01
  • 2019-06-13
  • 1970-01-01
  • 2020-05-16
  • 1970-01-01
  • 2020-10-18
相关资源
最近更新 更多