功能:根据视频url获取首帧缩略图的本地路径

前言:
在上传视频时,一般会需要将视频的首帧缩略图上传,作为视频的封面。本文将实现根据视频的url地址实现首帧所略图的功能。

步骤一:获取视频的首帧图并转化成bitmap

 /**
 * 获取视频首帧图并转化为bitmap
 * @param videoUrl
 * @return
 */
private Bitmap voidToFirstBitmap(String videoUrl){
    MediaMetadataRetriever metadataRetriever = new MediaMetadataRetriever();
    metadataRetriever.setDataSource(videoUrl);
    Bitmap bitmap = metadataRetriever.getFrameAtTime();
    return bitmap;
}

步骤二:将首帧图片的bitmap转化成本地路径(一般用于上传到OSS或者本地加载)

 /**
 * 将bitmap转化成本地图片路径
 * @param context
 * @param bitmap
 * @return
 */
private static String bitmapToStringPath(Context context, Bitmap bitmap){
    String savePath;
    File filePic;
    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
        savePath = "/sdcard/dskgxt/pic/";
    }else {
        savePath = context.getApplicationContext().getFilesDir().getAbsolutePath() + "/dskgxt/pic/";
    }
    try {
        filePic = new File(savePath + UUID.randomUUID().toString() + ".jpg");
        if (!filePic.exists()) {
            filePic.getParentFile().mkdirs();
            filePic.createNewFile();
        }
        FileOutputStream fos = new FileOutputStream(filePic);
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
        fos.flush();
        fos.close();
    }catch(IOException e){
        e.printStackTrace();
        return null;
    }
    return filePic.getAbsolutePath();
}

结束。

    原文作者:隰有荷
    原文地址: https://www.jianshu.com/p/2d2663ac74f1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞