检索视频的缩略图

时间:2011-09-24 17:54:37

标签: java android video multimedia

我正在尝试制作一个展示最佳电影预告片的应用程序。我想用每个视频的缩略图显示网格视图,然后点击它们打开一个新的活动来播放视频。

考虑到视频片刻,我该如何检索缩略图?如果这很复杂,那么第一帧也是如此。感谢

1 个答案:

答案 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);

希望它有所帮助!