仅仅是获取SD卡的啊,对于网络下载,就不清楚了
/** * 通过文件名 获取视频的缩略图 * * @param context * @param cr cr = getContentResolver(); * @param testVideopath 全路径 "/mnt/sdcard/sidamingbu.mp4"; * @return */ public static Bitmap getVideoThumbnail(Context context, ContentResolver cr, String testVideopath) { // final String testVideopath = "/mnt/sdcard/sidamingbu.mp4"; ContentResolver testcr = context.getContentResolver(); String[] projection = { MediaStore.Video.Media.DATA, MediaStore.Video.Media._ID, }; String whereClause = MediaStore.Video.Media.DATA + " = '" + testVideopath + "'"; Cursor cursor = testcr.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection, whereClause, null, null); int _id = 0; String videoPath = ""; if (cursor == null || cursor.getCount() == 0) { return null; } if (cursor.moveToFirst()) { int _idColumn = cursor.getColumnIndex(MediaStore.Video.Media._ID); int _dataColumn = cursor.getColumnIndex(MediaStore.Video.Media.DATA); do { _id = cursor.getInt(_idColumn); videoPath = cursor.getString(_dataColumn); System.out.println(_id + " " + videoPath); } while (cursor.moveToNext()); } BitmapFactory.Options options = new BitmapFactory.Options(); options.inDither = false; options.inPreferredConfig = Bitmap.Config.ARGB_8888; Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr, _id, Images.Thumbnails.MICRO_KIND, options); return bitmap; }
若代码没看明白 ,可看下面的说明, 下面的是转载的 http://shazhuzhu1.iteye.com/blog/1254724
2 在android.provider.MediaStore中包含对图片和视频的各种处理类,其中 android.provider.MediaStore.Images.Thumbnails 和android.provider.MediaStore.Video.Thumbnails提供了图片和视频生成缩略图的方法。
3 图片和视频的索引及其与对应缩略图的对应关系在 /sdcard/data/data/com.android.providers.media/databases中的db文件中,
图片对应表images和thumbnails
images
_id 图片id
_data 图片路径
thumbnails
_id 缩略图id
_data 缩略图存储位置
image_id 对应原图id
视频对应表images和thumbnails
video
_id 视频id
_data 视频路径
videothumbnails
_id 视频缩略图id
_data 视频缩略图存储位置
image_id 对应视频id (这个应该是VIDEO_ID)
4 以获取视频的缩略图为例,具体步骤如下:
1 获取视频的uri
2 转换为String,得到视频id
3 去videothumbnails表中找到视频缩略图路径
4 根据路径得到图片
缩略图 与源文件有一个 id是相关联的
2013年7月2日15:35:19
今天需要用到缩略图, 发现上面那个代码不清楚为什么会是一个空白,没图片,
http://blog.csdn.net/akon_vm/article/details/7419274
这个链接可以获取到,但是要求最少2.2以上。
再我测试的视频文件格式flv, 我在我手机没问题,但是模拟器好像不支持这个格式还是啥,会是一个null!