功能:根據(jù)視頻url獲取首幀縮略圖的本地路徑

前言:
在上傳視頻時(shí),一般會(huì)需要將視頻的首幀縮略圖上傳,作為視頻的封面。本文將實(shí)現(xiàn)根據(jù)視頻的url地址實(shí)現(xiàn)首幀所略圖的功能。

步驟一:獲取視頻的首幀圖并轉(zhuǎn)化成bitmap

 /**
 * 獲取視頻首幀圖并轉(zhuǎn)化為bitmap
 * @param videoUrl
 * @return
 */
private Bitmap voidToFirstBitmap(String videoUrl){
    MediaMetadataRetriever metadataRetriever = new MediaMetadataRetriever();
    metadataRetriever.setDataSource(videoUrl);
    Bitmap bitmap = metadataRetriever.getFrameAtTime();
    return bitmap;
}

步驟二:將首幀圖片的bitmap轉(zhuǎn)化成本地路徑(一般用于上傳到OSS或者本地加載)

 /**
 * 將bitmap轉(zhuǎn)化成本地圖片路徑
 * @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();
}

結(jié)束。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容