android 视频 截图,Android 视频截图

本文介绍了如何使用ContentResolver和BitmapFactory从指定的视频路径获取视频缩略图,包括设置选项、查询数据库、处理结果并返回Bitmap。关键步骤包括查询MediaStore Video表,获取视频ID,然后利用MediaStore获取对应的缩略图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

static public Bitmap getVideoThumbnail(ContentResolver cr, String path) {

Bitmap bitmap = null;

BitmapFactory.Options options = new BitmapFactory.Options();

options.inDither = false;

options.inPreferredConfig = Bitmap.Config.RGB_565;

//select condition.

String whereClause = MediaStore.Video.Media.DATA + " = '"

+ path + "'";

Log.v(TAG, "where = " + whereClause);

//colection of results.

Cursor cursor = cr.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,

new String[] { MediaStore.Video.Media._ID }, whereClause,

null, null);

Log.v(TAG, "cursor = " + cursor);

if (cursor == null || cursor.getCount() == 0) {

return ThumbnailUtils.createVideoThumbnail(path, MediaStore.Video.Thumbnails.MINI_KIND);

}

cursor.moveToFirst();

//image id in image table.

String videoId = cursor.getString(cursor

.getColumnIndex(MediaStore.Video.Media._ID));

Log.v(TAG, "videoId = " + videoId);

if (videoId == null) {

return ThumbnailUtils.createVideoThumbnail(path, MediaStore.Video.Thumbnails.MINI_KIND);

}

cursor.close();

long videoIdLong = Long.parseLong(videoId);

//via imageid get the bimap type thumbnail in thumbnail table.

bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr, videoIdLong,

Images.Thumbnails.MICRO_KIND, options);

Log.v(TAG, "bitmap = " + bitmap);

return bitmap;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值