獲取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;
    }

好了,希望能幫到你們!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章