我正在尝试制作一个展示最佳电影预告片的应用程序。我想用每个视频的缩略图显示网格视图,然后点击它们打开一个新的活动来播放视频。
考虑到视频片刻,我该如何检索缩略图?如果这很复杂,那么第一帧也是如此。感谢
答案 0 :(得分:3)
如果您使用的是API 2.0或更高版本,则可以使用。
获取视频ID:
String[] proj = {
MediaStore.Video.Media._ID,
MediaStore.Video.Media.DISPLAY_NAME,
MediaStore.Video.Media.DATA
};
Cursor cursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
proj, MediaStore.Video.Media.DISPLAY_NAME+"=?",new String[] {"name.mp4"}, null);
cursor.moveToFirst()
id = cursor.getLong(cursor.getColumnIndex(MediaStore.Video.Media._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);
修改强> 的:强>
如果您使用的是android-8(Froyo)或更高版本,则可以使用视频路径中的ThumbnailUtils.createVideoThumbnail:
Bitmap thumb = ThumbnailUtils.createVideoThumbnail(path,
MediaStore.Images.Thumbnails.MINI_KIND);
希望它有所帮助!