1. 程式人生 > >獲取url或本地視訊的第一幀

獲取url或本地視訊的第一幀

今天拿到一個任務,需要通過伺服器返回的視訊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;
    }

好了,希望能幫到你們!