如何从ListView适配器中的视频URL加载视频缩略图

时间:2017-01-31 11:15:38

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

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

1 个答案:

答案 0 :(得分:6)

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