目前我们有一个画廊视图,我们需要向其中添加图像/视频的缩略图。如果我们已经拥有图像/视频的 content:// URI,我们如何获得已经生成的缩略图(本地图库应用程序显示的缩略图)?
(我们使用的是 Android 1.6,Video.Thumbnails 不存在)
目前我们有一个画廊视图,我们需要向其中添加图像/视频的缩略图。如果我们已经拥有图像/视频的 content:// URI,我们如何获得已经生成的缩略图(本地图库应用程序显示的缩略图)?
(我们使用的是 Android 1.6,Video.Thumbnails 不存在)
如果我理解正确,您拥有由内容提供商提供的图像和视频,并可作为 URI 访问。您想为此类图像和视频创建缩略图。
我不知道如何对视频文件执行此操作,但这就是我将如何使用图像文件来实现它。
使用 ContentResolver 的 openInputStream 方法将图像作为 InputStream 打开。http://developer.android.com/reference/android/content/ContentResolver.html#openInputStream%28android.net.Uri%29
使用此方法使用上述 InputStream 创建 BitmapDrawable http://developer.android.com/reference/android/graphics/drawable/BitmapDrawable.html#BitmapDrawable%28android.content.res.Resources,%20java.io.InputStream%29
将 BitmapDrawable 缩小到所需的缩略图宽度和高度。遵循本教程。 http://www.anddev.org/resize_and_rotate_image__-_example-t621.html
[可选] 您可能希望缓存缩略图,这样您就不必在每次用户访问您的图库时都重复上述步骤。
我认为对于图像,上面的答案可能很有用。对于视频,类 MediaMetadataRetriever 是本机 Gallery 应用程序使用的。但不幸的是,这不是一个已发布的 API。