我必须编写一个程序,其中所有视频都存储在我的设备中,以便用缩略图显示。 我可以列出所有这些,但大多数都带有黑色缩略图,而在图库应用程序中这些显示完美。
请帮帮我! 我试过的是
MediaStore.Video.Thumbnails.getThumbnail(mContex.getContentResolver(), id, MediaStore.Video.Thumbnails.MICRO_KIND, null);
或
ThumbnailUtils.createVideoThumbnail(filePath, MediaStore.Video.Thumbnails.MICRO_KIND)
答案 0 :(得分:2)
某些视频文件(例如 mp4 s可以从YouTube下载)开头几乎没有黑框,这就是ThumbnailUtils.createVideoThumbnail()
所见的内容。
您可以使用MediaMetadataRetriever类从时间= 0的某个偏移量中提取文件中的帧。要获得最佳效果,请使用getFrameAtTime(t, OPTION_NEXT_SYNC)并迭代时间 t 以查找非平凡的缩略图。您可以尝试500000(半秒)的步骤。
答案 1 :(得分:0)
使用此代码。它为我工作。 From
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);