欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android中如何获取视频文件的截图、缩略图

程序员文章站 2024-02-25 16:52:39
背景 公司最近要求给我负责的app加上视频录制和发布的功能,我简单的完成了基本的录制和视频压缩功能,后来发现发布接口需要上传视频的截图,网上搜索了一下资料,在这里整理一下...

背景

公司最近要求给我负责的app加上视频录制和发布的功能,我简单的完成了基本的录制和视频压缩功能,后来发现发布接口需要上传视频的截图,网上搜索了一下资料,在这里整理一下。

代码实现

/**
* 获取视频文件截图
*
* @param path 视频文件的路径
* @return bitmap 返回获取的bitmap
*/
public static bitmap getvideothumb(string path) {
mediametadataretriever media = new mediametadataretriever();
media.setdatasource(path);
return media.getframeattime();
}
/**
* 获取视频文件缩略图 api>=8(2.2)
*
* @param path 视频文件的路径
* @param kind 缩略图的分辨率:mini_kind、micro_kind、full_screen_kind
* @return bitmap 返回获取的bitmap
*/
public static bitmap getvideothumb2(string path, int kind) {
return thumbnailutils.createvideothumbnail(path, kind);
}
public static bitmap getvideothumb2(string path) {
return getvideothumb2(path, mediastore.video.thumbnails.full_screen_kind);
}

以上是获取视频文件的截图和缩略图的方法,你可能还需要把bitmap保存成文件:

/**
* bitmap保存成file
*
* @param bitmap input bitmap
* @param name output file's name
* @return string output file's path
*/
public static string bitmap2file(bitmap bitmap, string name) {
file f = new file(environment.getexternalstoragedirectory() + name + ".jpg");
if (f.exists()) f.delete();
fileoutputstream fout = null;
try {
fout = new fileoutputstream(f);
bitmap.compress(bitmap.compressformat.jpeg, 100, fout);
fout.flush();
fout.close();
} catch (ioexception e) {
return null;
}
return f.getabsolutepath();
}

以上内容是小编给大家介绍的android中如何获取视频文件的截图、缩略图的相关知识,希望对大家有所帮助!