安卓资源收集安卓开发安卓笔记侠

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

2018-02-24  本文已影响110人  隰有荷

前言:
在上传视频时,一般会需要将视频的首帧缩略图上传,作为视频的封面。本文将实现根据视频的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();
}

结束。

上一篇 下一篇

猜你喜欢

热点阅读