獲取url或本地視訊的第一幀
阿新 • • 發佈:2019-02-17
今天拿到一個任務,需要通過伺服器返回的視訊url,獲取其第一幀畫面顯示出來;一開始沒思路,只知道獲取本地視訊的,就跑去問度娘,度娘給出的大多數也是獲取本地視訊的第一幀畫面,最後發現它們用的是過載方法,真是騎驢找驢啊。好了,現在貼出相關的方法程式碼:
好了,希望能幫到你們!
/** * 給出url,獲取視訊的第一幀 * * @param url * @return */ public static Bitmap getVideoThumbnail(String url) { Bitmap bitmap = null; //MediaMetadataRetriever 是android中定義好的一個類,提供了統一 //的介面,用於從輸入的媒體檔案中取得幀和元資料; MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { //根據檔案路徑獲取縮圖 retriever.setDataSource(url, new HashMap()); //獲得第一幀圖片 bitmap = retriever.getFrameAtTime(); } catch (IllegalArgumentException e) { e.printStackTrace(); } finally { retriever.release(); } return bitmap; }
/** * 獲取本地視訊的第一幀 * * @param filePath * @return */ public static Bitmap getLocalVideoThumbnail(String filePath) { Bitmap bitmap = null; //MediaMetadataRetriever 是android中定義好的一個類,提供了統一 //的介面,用於從輸入的媒體檔案中取得幀和元資料; MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { //根據檔案路徑獲取縮圖 retriever.setDataSource(filePath); //獲得第一幀圖片 bitmap = retriever.getFrameAtTime(); } catch (IllegalArgumentException e) { e.printStackTrace(); } finally { retriever.release(); } return bitmap; }
好了,希望能幫到你們!