Android获取(网络和本地)视频缩略图
发布日期:2021-05-20 13:15:46
浏览次数:7
分类:技术文章
本文共 1604 字,大约阅读时间需要 5 分钟。
在音视频APP开发过程中,有一个比较重要的功能就是显示视频封面图片(如果不能显示视频封面用户体验是比较差的),常用的方法有2中:
- 提前准备好视频的封面图片,然后显示时去加载这张图片
- 从视频中动态解析出视频封面图片
第一种方式对于APP端而言没什么难度,拿到图片地址直接加载显示图片就行。第二种方式就比较难了,因为处理视频获取图片还是比较复杂的。不过今天要给大家讲的方式比较简单,因为已经有第三方库帮我们做好:
我们先来看一下效果:(分别获取网络、本地、逐帧图片、列表图片)
现在开始实现以上功能
1、gradle中集成库(当然权限这种自己要开启)
implementation 'ywl.ywl5320:wlmedia:version'
2、使用到的API(只有几行、几行、行……)
WlMediaUtil wlMediaUtil = new WlMediaUtil();//创建实例wlMediaUtil.setSource("http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8");//设置数据源wlMediaUtil.init();//初始化 返回0表示成功wlMediaUtil.openCodec();//打开视频图片解码器 返回0表示成功/** 开始获取图片 time:表示获取指定时间的图片 false:表示获取当前第一帧图片 true:表示获取当前第一帧关键帧图片 返回值:不为空即获取到图片*/ wlMediaUtil.getVideoImg(time, false);wlMediaUtil.release();//最后回收资源
以上就是用到的所有API,是不是比较简单,几句代码就完事~
3、调用方式(需要在子线程中调用,因为获取视频图片是耗时操作!!)
new Thread(new Runnable() { @Override public void run() { WlMediaUtil wlMediaUtil = new WlMediaUtil(); wlMediaUtil.setSource("http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8"); int ret = wlMediaUtil.init(); if(ret == 0) { ret = wlMediaUtil.openCodec(); if(ret == 0) { WlVideoImgBean wlVideoImgBean = wlMediaUtil.getVideoImg(false); if(wlVideoImgBean != null) { Message message = Message.obtain(); message.obj = wlVideoImgBean; message.what = 0; handler.sendMessage(message); } } } wlMediaUtil.release(); }}).start();
这样就实现了视频图片的获取。
Demo下载地址:
最后总结一下:功能越复杂,使用越简单的SDk才是真的好,哈哈~
转载地址:https://blog.csdn.net/ywl5320/article/details/107576410 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月11日 13时23分48秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
android之单元测试问题汇总
2019-04-30
Qt窗口居中
2019-04-30
Android Bitmap透明背景
2019-04-30
android画布局部矩形擦除
2019-04-30
ADB命令与调试文件安装拷贝
2019-04-30
Android日志创建应用与添加位置服务
2019-04-30
Android MP3播放(web)
2019-04-30
Android之资源使用
2019-04-30
专利挖掘文章研读笔记
2019-04-30
Java DataType数据类型
2019-04-30
路似长非长,似短非短,只是时常我们还迷茫在大海之中
2019-04-30
Android设置字体颜色
2019-04-30
Qt构建静态库动态库
2019-04-30
Andoid Style资源应用
2019-04-30
RecyclerView(ListView) 画网格
2019-04-30
解决QT中中文字符乱码问题
2019-04-30
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crt1.o: In function `_start': (.text+0x18): undefined
2019-04-30
Redhat5.6下mysql的安装和使用
2021-07-03