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

好了,希望能帮到你们!

猜你喜欢

转载自blog.csdn.net/xiadanxin/article/details/53868372