获取图片缩略图:
byte[] imageByte=getImageFromURL(urlPath.trim());
//以下是把图片转化为缩略图再加载
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeByteArray(imageByte, 0, imageByte.length,options ); //此时返回bitmap为空
options.inJustDecodeBounds = false;
int be = (int)(options.outHeight / (float)200);
if (be <= 0){
be = 1;
}
options.inSampleSize = be;
return BitmapFactory.decodeByteArray(imageByte, 0, imageByte.length,options); //返回缩略图
获取视频缩略图:
/**
* 根据视频Uri地址取得指定的视频缩略图
* @param cr
* @param uri 本地视频Uri标示
* @return 返回bitmap类型数据
*/
public static Bitmap getVideoThumbnail(ContentResolver cr, Uri uri) {
Bitmap bitmap = null;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inDither = false;
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Cursor cursor = cr.query(uri,new String[] { MediaStore.Video.Media._ID }, null, null, null);
if (cursor == null || cursor.getCount() == 0) {
return null;
}
cursor.moveToFirst();
String videoId = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media._ID)); //image id in image table.s
if (videoId == null) {
return null;
}
cursor.close();
long videoIdLong = Long.parseLong(videoId);
bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr, videoIdLong,Images.Thumbnails.MICRO_KIND, options);
return bitmap;
}
/**
* 根据视频在手机中的地址路径取得指定的视频缩略图
* @param cr
* @param fileName 本地视频地址
* @return 返回bitmap类型数据
*/
public static Bitmap getVideoThumbnail(ContentResolver cr, Uri uri) {
Bitmap bitmap = null;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inDither = false;
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Cursor cursor = cr.query(uri,new String[] { MediaStore.Video.Media._ID }, null, null, null);
if (cursor == null || cursor.getCount() == 0) {
return null;
}
cursor.moveToFirst();
String videoId = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media._ID)); //image id in image table.s
if (videoId == null) {
return null;
}
cursor.close();
long videoIdLong = Long.parseLong(videoId);
bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr, videoIdLong,Images.Thumbnails.MICRO_KIND, options);
return bitmap;
}
分享到:
相关推荐
在Android开发中,获取视频缩略图是一项常见的需求,例如在视频列表中预览视频内容。Android系统提供了多种方法来实现这一功能,本篇将详细讲解如何异步方式获取视频缩略图,并分享一个亲测可行的方法。 首先,...
在Android开发中,获取图片和视频的缩略图是一项常见的需求,这通常涉及到用户界面的展示,例如在相册应用中预览媒体内容。本文将详细介绍如何在Android中有效地获取这两种类型的媒体文件的缩略图。 一、图片缩略图...
通过研究和理解这个代码,开发者可以更好地掌握如何在Android应用中正确处理图片缩略图的获取和展示,同时解决可能出现的问题。 总之,获取Android设备上的最近相片缩略图需要正确查询MediaStore,按时间排序,并...
在Android平台上,获取视频文件的缩略图是开发者经常遇到的需求。这主要涉及到多媒体处理,尤其是视频帧的提取。在本教程中,我们将探讨如何在Android应用中实现这一功能,同时利用JieCao(杰操)播放器库来辅助完成...
通过`MediaMetadataRetriever`可以轻松获取视频缩略图,而`BitmapFactory`和相关方法则适用于生成图片缩略图。理解并熟练运用这些工具,能帮助开发者提高应用的性能和用户体验。在实际开发中,还需要注意内存管理和...
在Android开发中,有时我们需要实现一个功能,即根据指定的本地路径展示视频列表,并能点击缩略图播放视频。这个功能对于许多应用,如视频管理器或者个人相册应用,都是至关重要的。以下是对这个标题和描述所涉及...
1:获取sdcard 图片并以listview显示,并显示其缩略图 2:获取sdcard 视频并以listview显示,并显示其缩略图 3:在显示其缩略图时通过asynctask 来显示,防止阻塞主ui 4: 获取的缩略图保存在缓存中,下次显示时直接...
首先,对于图片缩略图的获取,Android提供了多种方法。其中一种常见的方式是使用`BitmapFactory`类。通过`decodeFile()`或`decodeStream()`方法,配合`BitmapFactory.Options`对象,可以控制解码过程,包括设定目标...
3. **生成图片缩略图**: - 使用`BitmapFactory.Options`来创建缩略图。通过设置`inSampleSize`,可以控制图片缩小的比例,以减少内存占用。 - `BitmapFactory.decodeFile()`或`BitmapFactory.decodeStream()`方法...
获取图片缩略图的方法相对简单,可以直接使用`BitmapFactory.decodeFile()`或`BitmapFactory.decodeStream()`。下面是一个基本的示例: ```java public static Bitmap getImageThumbnail(String imagePath) { ...
1. **MediaMetadataRetriever**:这是Android SDK提供的一种工具类,用于从音频和视频文件中提取元数据。我们可以调用其`getFrameAtTime()`方法来获取指定时间点的视频帧,通常我们会选择第一帧作为缩略图。 ```...
- `Android项目实现获取视频的缩略图(ThumbnailUtils),并且播放`可能是项目的主要代码文件,比如一个Java类,其中实现了获取视频缩略图和播放视频的功能。 在源码分析中,我们可以看到如何在Activity中调用`...
在Android开发中,自定义读取本地视频缩略图是一个常见的需求,特别是在构建多媒体应用时,如图片和视频浏览的应用。这个过程涉及到Android的多媒体框架、文件操作以及UI展示技术。下面将详细讲解如何实现这一功能。...
在这个Demo中,缩略图和大图通常都是通过`ImageView`来展示的。你可以使用`setImageResource()`、`setImageBitmap()`或`setImageURI()`方法加载图片。 2. **点击事件监听**: 为了响应用户的点击操作,我们需要为`...
- `MainActivity.java`:主活动类,包含了获取缩略图和播放视频的逻辑。 - `activity_main.xml`:布局文件,定义了UI组件如ImageView和VideoView的布局。 - `res`目录:包含了应用的资源文件,如图片、样式和字符...
今天,简单讲讲android里如何获取一个视频文件的第一帧作为缩略图显示在界面上。 之前,我说个最近需要从服务器下载视频文件,但是下载后肯定需要显示视频的缩略图在界面上给用户看,于是想到显示视频的第一帧作为...
在Android平台上,开发一款应用涉及相机拍照、裁剪和生成缩略图是常见的需求。本文将深入探讨如何在Android中实现这些功能,并提供一个实际的源码实例。 首先,我们来了解一下Android相机API的基本概念。Android...
在Android开发中,高效地加载和管理图片资源是至关重要的,特别是缩略图的加载,因为这直接影响到应用的性能和用户体验。本文将详细讲解如何在Android中实现缩略图的加载,避免不必要的内存浪费。 首先,理解...