主题 : Android获取SD卡上图片和视频的缩略图 复制链接 | 浏览器收藏 | 打印
欢迎加入清源的android开发交流群:314230976,加群时请验证:arm,谢谢!
级别: 侠客
UID: 94332
精华: 0
发帖: 72
金钱: 370 两
威望: 74 点
贡献值: 0 点
综合积分: 144 分
注册时间: 2013-07-14
最后登录: 2013-09-25
楼主  发表于: 2013-08-01 14:09

 Android获取SD卡上图片和视频的缩略图

如果我们需要快速提取图片和视频缩略图可以直接访问 android.provider.MediaStore.Images.Thumbnails 和android.provider.MediaStore.Video.Thumbnails这两个数据库,即可查询出来缩略图 。
如何判断文件呢? 可以通过Cursor遍历数据库,对比INTERNAL_CONTENT_URI字段的值,这是一个Uri,这里保存着Android手机SD卡上的多媒体文件完整路径。
复制代码
  1. [java]
  2. Uri originalUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
  3. //若为视频则为MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
  4. ContentResolver cr = this.getContentResolver();
  5. Cursor cursor = cr.query(originalUri, null, null, null, null);
  6. if (cursor == null) {
  7. return;
  8. }
  9. for (cursor.moveToFirst();!cursor.isAfterLast(); cursor.moveToNext()) {
  10. long thumbNailsId = cursor.getLong(cursor .getColumnIndex("_ID"));
  11. Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(cr,
  12. thumbNailsId, Video.Thumbnails.MICRO_KIND, null);
  13. //若为视频则为
  14. // Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr,
  15. // thumbNailsId, Video.Thumbnails.MICRO_KIND, null);
  16. return bitmap;
  17. }
  18. Uri originalUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
  19. //若为视频则为MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
  20. ContentResolver cr = this.getContentResolver();
  21. Cursor cursor = cr.query(originalUri, null, null, null, null);
  22. if (cursor == null) {
  23. return;
  24. }
  25. for (cursor.moveToFirst();!cursor.isAfterLast(); cursor.moveToNext()) {
  26. long thumbNailsId = cursor.getLong(cursor .getColumnIndex("_ID"));
  27. Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(cr,
  28. thumbNailsId, Video.Thumbnails.MICRO_KIND, null);
  29. //若为视频则为
  30. // Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr,
  31. // thumbNailsId, Video.Thumbnails.MICRO_KIND, null);
  32. return bitmap;
  33. }
欢迎加入android开发交流群,群号是:314230976