-1

我必须编写一个程序,其中所有视频都存储在我的设备中以显示缩略图。我可以将它们全部列出,但其中大多数都带有黑色缩略图,而在画廊应用程序中这些显示完美。

请帮我!我试过的是

MediaStore.Video.Thumbnails.getThumbnail(mContex.getContentResolver(), id, MediaStore.Video.Thumbnails.MICRO_KIND, null);

或者

ThumbnailUtils.createVideoThumbnail(filePath, MediaStore.Video.Thumbnails.MICRO_KIND)
4

2 回答 2

2

一些视频文件(例如可以从 YouTube 下载的mp4文件)在开始时几乎没有黑框,这就是您将看到的ThumbnailUtils.createVideoThumbnail().

您可以使用MediaMetadataRetriever类从时间 = 0 的某个偏移量处从文件中提取帧。为了获得最佳结果,您应该使用getFrameAtTime(t, OPTION_NEXT_SYNC)并遍历时间t以找到一个重要的缩略图。你可以试试500000(半秒)的步数。

于 2012-09-19T14:50:29.693 回答
0

使用此代码。它为我工作。

    int id = **"The Video's ID"**
    ImageView iv = (ImageView ) convertView.findViewById(R.id.imagePreview);
    ContentResolver crThumb = getContentResolver();
    BitmapFactory.Options options=new BitmapFactory.Options();
    options.inSampleSize = 1;
    Bitmap curThumb = MediaStore.Video.Thumbnails.getThumbnail(crThumb, id, MediaStore.Video.Thumbnails.MICRO_KIND, options);
    iv.setImageBitmap(curThumb);


If It is not working Use This  

Bitmap bmThumbnail;
        bmThumbnail = ThumbnailUtils.createVideoThumbnail(videoFileList[position], Thumbnails.MICRO_KIND);
于 2012-09-19T13:40:33.480 回答