Android 根据视频地址获取视频的第一帧画面做为封面

一、前言:

1. 代码一:

public Bitmap getBitmapFormUrl(String url) {
    MediaMetadataRetriever retriever = new MediaMetadataRetriever();
    retriever.setDataSource(url);
    //getFrameAtTime()--->在setDataSource()之后调用此方法。 如果可能,该方法在任何时间位置找到代表性的帧,
    // 并将其作为位图返回。这对于生成输入数据源的缩略图很有用。
    Bitmap bitmap = retriever.getFrameAtTime();
    retriever.release();
    return bitmap;
}

就这么几行代码还是给我抛了个IllegalArgumentException异常,最后查看文档发现在api14以后又增加了个参数。传了个空的HashMap进去就获取到了第一帧的画面….

image.png

最后整理的代码就长下面这个样子了

2. 代码二:

public static Bitmap getBitmapFormUrl(String url) {    
      Bitmap bitmap = null;   
      MediaMetadataRetriever retriever = new MediaMetadataRetriever();   
       try {       
               if (Build.VERSION.SDK_INT >= 14) {            
                   retriever.setDataSource(url, new HashMap<String, String>());        

         } else {           
                 retriever.setDataSource(url);        

         }        

       /*getFrameAtTime()--->在setDataSource()之后调用此方法。 如果可能,该方法在任何时间位置找到代表性的帧,         并将其作为位图返回。这对于生成输入数据源的缩略图很有用。**/        

     bitmap = retriever.getFrameAtTime();    

    } catch (IllegalArgumentException e) {   
           e.printStackTrace();    
     } finally {      
            try {         
                      retriever.release();      
            } catch (IllegalArgumentException e) {        
              e.printStackTrace();       
          }    
   }    
             return bitmap;
}

总结:我在使用时,代码一正常,代码二报错,你们看看遇到的有问题吗?


参考链接:https://blog.csdn.net/suyimin2010/article/details/81270325

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本系列出于AWeiLoveAndroid的分享,在此感谢,再结合自身经验查漏补缺,完善答案。以成系统。 Java基...
    济公大将阅读 5,405评论 1 6
  • 原创链接 一、Java面试题java有多重要,对于做android的我们,不需要多说了,let’s go (1)J...
    李福来阅读 6,865评论 0 5
  • 93:ViewDragHelper的用法,可以任意拖动view的帮助类 参考网址: https://blog.cs...
    名字_都被占了阅读 3,499评论 0 0
  • 一、什么是入声 成都话作为北方方言,入声的独特发音早就消失了(百度上说入声自南宋时期就在北方官话中消失了),所以四...
    孩子为阅读 10,940评论 2 0
  • 奋力追上灵魂吧 一个为了在这座城市生存下去,按部就班的我;一个心存高远,追求自由的我。总是梦想两条平行线能合二为...
    Eva_jin阅读 1,137评论 2 4