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中如何获取视频文件的截图、缩略图的相关知识,希望对大家有所帮助!