Android-推荐一个视频播放库JZVideo
最近项目当中有用到视频播放器这个功能,分享一个我的开发心得。一般情况下,我们不会去写一个视频播放器,因为需要很多知识和播放场景考虑。分享一个我使用到的视频播放器的库,JZVideo
(俗称饺子播放器)。
JZVideo集成
implementation 'cn.jzvd:jiaozivideoplayer:7.5.0'
XML使用
<cn.jzvd.JzvdStdandroid:id="@+id/jz_video"android:layout_width="match_parent"android:layout_height="200dp" />
在代码中设置视频地址、缩略图、标题
MyJzvdStd jzvdStd = (MyJzvdStd) findViewById(R.id.jz_video);
jzvdStd.setUp("http://jzvd.nathen.cn/c6e3dc12a1154626b3476d9bf3bd7266/6b56c5f0dc31428083757a45764763b0-5287d2089db37e62345123a1be272f8b.mp4", "饺子闭眼睛");
jzvdStd.posterImageView.setImage("http://p.qpic.cn/videoyun/0/2449_43b6f696980311e59ed467f22794e792_1/640");
setUp
方法参数说明:
- 参数一:视频的播放路径;
- 参数二:视频的标题。
posterImageView.setImage
方法是设置视频未播放的时候的缩略图展示。
界面生命周期绑定
@Override
public void onBackPressed() {if (Jzvd.backPress()) {return;}super.onBackPressed();
}@Override
protected void onPause() {super.onPause();Jzvd.releaseAllVideos();
}
绑定生命周期可以更好的处理交互问题。
混淆配置
上线App的时候,出于代码安全以及apk大小优化的情况下,可以在proguard-rules.pro
加入以下代码:
-keep public class cn.jzvd.JZMediaSystem {*; }
-keep public class cn.jzvd.demo.CustomMedia.CustomMedia {*; }
-keep public class cn.jzvd.demo.CustomMedia.JZMediaIjk {*; }
-keep public class cn.jzvd.demo.CustomMedia.JZMediaSystemAssertFolder {*; }-keep class tv.danmaku.ijk.media.player.** {*; }
-dontwarn tv.danmaku.ijk.media.player.*
-keep interface tv.danmaku.ijk.media.player.** { *; }
这是在App当中对JZVideo
的简单使用,如果下次项目项目当中有比较复杂的交互或者处理,我会另外写一篇博客分享的。
Android-推荐一个视频播放库JZVideo相关推荐
- 推荐一个界面库:RingSDK
这是我自己写的界面库,编程一直用他,包含了界面库和图象库.这个库并不是有意为之,而是我多年编程过程中积累下来的.最初只是把一些经常要用到的功能封装成一些函数,建了一个静态库,方便自己编程,后来慢慢积累 ...
- 推荐一个python库:Vaex
这阵子,我没太多关注各种热点,什么华为.罗永浩,我都没有去了解. 我在忙什么呢?最近我在研究各种工具产品的智能化趋势,数据的充沛.算法的成熟,以往我们pc互联网创造的工具都有被改造一遍的可能. 我最看 ...
- 今天给大家推荐一个可视化库:cutecharts,我把她叫做pyecharts的妹妹
本文转自公众号"简说Python" 点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电 ...
- java读取csv合适文件_解析-您可以推荐一个Java库来读取(并可能写入)CSV文件吗?...
Super CSV是读取/解析,验证和映射CSV文件到POJO的绝佳选择! 我们(Super CSV团队)刚刚发布了一个新版本(您可以从SourceForge或Maven下载它). 读取CSV文件 以 ...
- 推荐一个开源库(Calligraphy)将ttf字体库加入到项目中,轻松实现各种字体
库连接(https://github.com/chrisjenx/Calligraphy) 官方截图 详细使用说明请进入该链接查看, 下面简单介绍其中的一种用法,设置到主题(Theme)中 第一步:将 ...
- python场景文字识别_针对复杂场景的 OCR 文本识别,推荐一个Python 库!
大家好,我是 zeroing~ 1,前言 之前谈到图片文本 OCR 识别时,写过一篇文章介绍了一个 Python 包 pytesseract ,具体内容可参考 介绍一个Python 包 ,几行代码可实 ...
- 推荐一个好库 热键监听 hotkeys-js
使用代码 import hotkeys from 'hotkeys-js' hotkeys('command+s', function (event, handler) {// 阻止窗体自带事件eve ...
- 推荐一个视频播放器potplayer
不知道看视频听音频学习的时候会不会有需要重复听,或者打标签的时候,这个软件很好的做到了这一点,右键->播放->书签就可以解决,重复的话播放控制栏上就有,而且精简流畅,真的是好东西.
- 推荐一个日历转换开源工具库,支持C#、Java、PHP等主流的语言
更多开源项目请查看:一个专注推荐.Net开源项目的榜单 日历对我们来说,最熟悉的就是阳历和农历,在中国每年都有固定的节日.节气.中国特有传统节日,有些节日是固定的,但是节气这些都需要我们经过一定规则换 ...
最新文章
- python 3389爆破机
- 利用matlab处理点云
- 大数据时代第一部分思维导图_大数据时代总结思维导图模板分享
- OpenLayers3基础教程——OL3之Popup
- mysql 创建事件_mysql怎么建立事件
- HDU5763 Another Meaning(KMP+dp)
- %3c %3e 转换html,防止基本的XSS攻击 滤掉HTML标签
- Linux Shell 流程控制语句实例
- html如何修改按钮样式,css怎么设置按钮样式?
- 黑客技术思维导图总结
- RT-Thread Studio中使用DHT11软件包
- 打开ps显示计算机内存不足怎么办,如何解决PS内存不足的问题
- 全桥逆变电路部分分析
- 2023云南大学计算机考研信息汇总
- PostgreSQL命令行常用命令psql
- Spring(11) - Introductions进行类扩展方法
- centos-ssh-channel is not opened.
- mysql添加用户并赋予权限命令
- error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was
- 2014华中首届手游创意大赛
热门文章
- WireGuard Easy 安装使用
- 正则匹配学习,示例:包含a和b,包含a不包含b,包含a不包含b和c
- 【无人驾驶系列】光学雷达(LiDAR)在无人驾驶技术中的应用
- mysql如何实现自增序列
- 中文版-安静-Still (Hillsong原唱)(好消息电视台 音乐河18)
- 报错信息:Could not load the Tomcat server configuration....详细解决办法,带截图
- 你的快递最远去到哪里呢
- 【逐函数讲解ORB_SLAM3源码】IMU的欧拉积分中值积分
- 在js中用图片显示当前时间
- 微信小程序 input框实现搜索历史记录