Android 获取网络视频某一帧图片

获取网络视频的某一帧作为封面图,可以使用Glide实现,但是效果不是很好,主要问题就是加载慢,有几秒的延迟。这里利用Android提供的MediaMetadataRetriever类来获取。MediaMetadataRetriever主要是对网络、本地媒体文件做操作。

获取某一帧代码如下:

MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(videoUrl, new HashMap());
//获得第10帧图片 这里的第一个参数 以微秒为单位 
bitmap = retriever.getFrameAtTime(10000000,MediaMetadataRetriever.OPTION_CLOSEST_SYNC);
retriever.release();

需要注意的就是getFrameAtTime第一个参数是以微秒为单位。还有一点,直接这样写遇到不能播放的视频地址,会造成UI卡顿效果非常不好,所以建议写在子线程中,通过hanler或其他方式给视频设置封面。

你可能感兴趣的:(Android开发记录,获取视频某一帧,视频缩略图,Android获取视频某一帧,Android视频缩略图)