Android中如何获取视频文件的截图、缩略图
背景
公司最近要求给我负责的APP加上视频录制和发布的功能,我简单的完成了基本的录制和视频压缩功能,后来发现发布接口需要上传视频的截图,网上搜索了一下资料,在这里整理一下。
代码实现
/**
*获取视频文件截图
*
*@parampath视频文件的路径
*@returnBitmap返回获取的Bitmap
*/
publicstaticBitmapgetVideoThumb(Stringpath){
MediaMetadataRetrievermedia=newMediaMetadataRetriever();
media.setDataSource(path);
returnmedia.getFrameAtTime();
}
/**
*获取视频文件缩略图API>=8(2.2)
*
*@parampath视频文件的路径
*@paramkind缩略图的分辨率:MINI_KIND、MICRO_KIND、FULL_SCREEN_KIND
*@returnBitmap返回获取的Bitmap
*/
publicstaticBitmapgetVideoThumb2(Stringpath,intkind){
returnThumbnailUtils.createVideoThumbnail(path,kind);
}
publicstaticBitmapgetVideoThumb2(Stringpath){
returngetVideoThumb2(path,MediaStore.Video.Thumbnails.FULL_SCREEN_KIND);
}
以上是获取视频文件的截图和缩略图的方法,你可能还需要把Bitmap保存成文件:
/**
*Bitmap保存成File
*
*@parambitmapinputbitmap
*@paramnameoutputfile'sname
*@returnStringoutputfile'spath
*/
publicstaticStringbitmap2File(Bitmapbitmap,Stringname){
Filef=newFile(Environment.getExternalStorageDirectory()+name+".jpg");
if(f.exists())f.delete();
FileOutputStreamfOut=null;
try{
fOut=newFileOutputStream(f);
bitmap.compress(Bitmap.CompressFormat.JPEG,100,fOut);
fOut.flush();
fOut.close();
}catch(IOExceptione){
returnnull;
}
returnf.getAbsolutePath();
}
以上内容是小编给大家介绍的Android中如何获取视频文件的截图、缩略图的相关知识,希望对大家有所帮助!