如何获取本地,网络视频的缩略图

编程入门 行业动态 更新时间:2024-10-21 06:48:01

获取本地的视频的缩略图
官方提供了解决方法,
ThumbanilUtils.createVideoThumbnail(String filePath ,int kind);返回一个bitmap;
可以建一个方法把方法放在放在你的方法库里方便调用
/*
filePath=uri,也可以是文件路径
kind有两个常量值(MediaStore.Images.Thumbnails.MICRO_KIND大小为96x96的图 ,MediaStore.Images.Thumbnails.MINI_KIND 大小为512 * 384的图)
*/
public static Bitmap createVideoThumbnail(String filePath,int kind){
return ThumbanilUtils.createVideoThumbnail(String filePath ,int kind);
}

获取网络视频的缩略图
分析MediaMetadataReriever类,发现有一个方法,setDataSource(String url,HashMap hashMap);
同样是放在自己的方法库里
public static Bitmap createVideoThumbnail2(String url) {
        Bitmap bitmap;
//MediaMetadataRetriever 的接口,用于从输入的媒体文件中取得帧和元数据;
 MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try {//根据文件路径获取缩略图 retriever.setDataSource(url, new HashMap<String, String>());/*获得第一帧图片
方法的第一个参数的单位是微妙   
第二个参数是  OPTION_CLOSEST    在给定的时间,检索最近一个帧,这个帧不一定是关键帧。
      OPTION_CLOSEST_SYNC   在给定的时间,检索最近一个同步与数据源相关联的的帧(关键帧)。*/
    bitmap = retriever.getFrameAtTime(10, MediaMetadataRetriever.OPTION_NEXT_SYNC);
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } finally {
            retriever.release();
        }
        return bitmap;
    }
/*
缺点(1.实际运用会非常卡,可以说是卡爆了,因为生成一个Bitmap耗时十分的严重,所以我们需要使用异步线程中去2.加载同一个视频的缩略图会加载多次3.缓存问题.综合以上因素所以需要我们自定义一个VideoThumbnailLoader)以后补充
*/




更多推荐

如何获取本地,网络视频的缩略图

本文发布于:2023-06-14 09:45:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1462323.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:缩略图   网络视频

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!