Android从1.5开始刚插入SD卡时系统会调用MediaScanner服务进行后台扫描,索引新的歌曲、图片和视频等信息,如果我们需要快速提取图片和视频缩略图可以直接访问 android.provider.MediaStore.Images.Thumbnails 和android.provider.MediaStore.Video.Thumbnails这两个数据库,即可查询出来缩略图
如何判断文件呢? 可以通过Cursor遍历数据库,对比INTERNAL_CONTENT_URI字段的值,这是一个Uri我们可以转成String,这里保存着Android手机SD卡上的多媒体文件完整路径,
有关具体的缩略图可以通过getThumbnail(ContentResolver cr, long origId, int kind, BitmapFactory.Options options) 或getThumbnail(ContentResolver cr, long origId, long groupId, int kind, BitmapFactory.Options options) 方法获取,这两种方法返回Bitmap类型,而缩略图的分辨率可以从HEIGHT和WIDTH两个字段提取,在Android上缩略图分为两种,通过读取KIND字段来获得,分别为MICRO_KIND和MINI_KIND 分别为微型和迷你两种缩略模式,前者的分辨率更低。这样我们平时获取文件系统的某个图片预览时,可以直接调用系统缩略图,而不用自己重新计算。
最后Android123提示大家,缩略图保存在SD卡的DCIM目录,里面的.thumbnails是图片的,而.video_thumbnails是视频的,这两个文件夹为隐藏属性,一般的文件管理器都可以看到。
从Android2.2开始系统新增了一个缩略图ThumbnailUtils类,位于framework的android.media.ThumbnailUtils位置,可以帮助我们从mediaprovider中获取系统中的视频或图片文件的缩略图,该类提供了三种静态方法可以直接调用获取。
1. static Bitmap createVideoThumbnail(String filePath, int kind) //获取视频文件的缩略图,第一个参数为视频文件的位置,比如/sdcard/android123.3gp,而第二个参数可以为MINI_KIND或MICRO_KIND最终和分辨率有关
2. static Bitmap extractThumbnail(Bitmap source, int width, int height, int options) //直接对Bitmap进行缩略操作,最后一个参数定义为OPTIONS_RECYCLE_INPUT,来回收资源
3. static Bitmap extractThumbnail(Bitmap source, int width, int height) // 这个和上面的方法一样,无options选项
最后Android开发网再次提醒大家,ThumbnailUtils类是API Level从8或更高才开始支持的。
分享到:
相关推荐
通过研究和理解这个代码,开发者可以更好地掌握如何在Android应用中正确处理图片缩略图的获取和展示,同时解决可能出现的问题。 总之,获取Android设备上的最近相片缩略图需要正确查询MediaStore,按时间排序,并...
在Android开发中,获取视频和图片的缩略图是一项常用的功能,这有助于在应用中快速预览媒体内容,提升用户体验。下面将详细讲解如何在Android系统中实现这一目标。 首先,我们来了解一下“缩略图”(thumbnails)的...
在Android开发中,获取图片和视频的缩略图是一项常见的需求,这通常涉及到用户界面的展示,例如在相册应用中预览媒体内容。本文将详细介绍如何在Android中有效地获取这两种类型的媒体文件的缩略图。 一、图片缩略图...
在Android开发中,获取视频的缩略图是常见的需求,比如在视频列表中展示预览图,或者在应用内创建视频相册等。本篇将详细介绍如何使用Android的`ThumbnailUtils`类来实现这一功能,并结合播放视频的操作,提供一份...
在Android开发中,获取视频缩略图是一项常见的需求,例如在视频列表中预览视频内容。Android系统提供了多种方法来实现这一功能,本篇将详细讲解如何异步方式获取视频缩略图,并分享一个亲测可行的方法。 首先,...
总的来说,Android项目实现获取视频的缩略图和播放功能,涉及到了多媒体处理、文件操作和UI设计等多个方面。理解并掌握这些知识点对于Android开发者来说是非常重要的,可以帮助我们构建更丰富的多媒体应用。
`MediaStore.Images.Thumbnails`接口提供了获取缩略图的方法,如`getThumbnail()`,它可以按指定的图片URI和缩略图大小返回一个Bitmap对象。 以下是一个简单的`AsyncTask`示例,用于异步加载SD卡上的图片缩略图: ...
在Android开发中,获取图片和视频的缩略图是一项常见的任务,这有助于优化用户体验,特别是在媒体库、相册应用或者需要展示多媒体内容的场景。本文将详细介绍如何在Android平台上通过编程方式获取这两种类型的缩略图...
在Android开发中,自定义读取本地视频缩略图是一个常见的需求,特别是在构建多媒体应用时,如图片和视频浏览的应用。这个过程涉及到Android的多媒体框架、文件操作以及UI展示技术。下面将详细讲解如何实现这一功能。...
总的来说,这个压缩包文件的示例应该涵盖了如何在Android应用中获取视频缩略图以及播放视频的基本操作,对于初学者和进阶开发者都是很好的学习资源。通过研究这个例子,你可以更深入地理解Android多媒体处理的细节,...
在Android开发中,有时我们需要快速地获取SD卡上存储的图片和视频的缩略图,以便在应用中展示。Android提供了方便的API,允许我们直接从`MediaStore`数据库中检索这些信息。以下是一个详细解释如何实现这个功能的...
在Android开发中,获取视频的缩略图是常见的需求,比如在媒体库应用或视频分享功能中。`ThumbnailUtils`类是Android SDK提供的一种便捷方式,用于从视频文件中提取缩略图。这个教程将带你了解如何使用`...
例如,可以使用`MediaStore.Images.Thumbnails`表查询特定图片的缩略图,通过`DATA`列获取缩略图的文件路径。 五、Loader机制 在Android 3.0及以上版本,推荐使用`Loader`框架来异步加载缩略图,以避免阻塞主线程...
在Android开发中,获取视频的缩略图是常见的需求,比如在视频列表展示预览图或者作为应用的图标。`ThumbnailUtils`是Android SDK提供的一种便捷方式,用于从视频文件中提取帧作为缩略图。这个功能对于视频分享、媒体...
在Android开发中,获取视频和图片的缩略图是一项常见的需求。以下是如何在Android中实现这一功能的详细步骤。 1. **获取视频缩略图** Android提供了两种方式来获取视频的缩略图: **(1)通过内容提供器获取**...
本篇文章将深入探讨Android缩略图的生成、存储和检索过程,以及如何通过代码进行跟踪分析。 首先,Android提供了一个名为`MediaStore`的系统服务,它包含了对媒体文件(如图片和视频)的各种元数据,包括缩略图。在...