Android——UI篇:android视频压缩:兼容7.0版本。
前言:
首先说一下,这个视频压缩项目是完美兼容 Android 7.0及以下系统的:
这个视频压缩啊,说起来真蛋疼,第一次做这个东西,啥都不懂,网上找了好多例子来使用,要么就是不适配机型,要么就是无缘无故的崩溃,各种bug,各种烦人,不过咱程序员还是不能轻易放弃的,终于皇天不负有心人,找到一个很好用的视频压缩库,使用方法很简单,就那么几行代码,好了,废话不多说了,先贴上github的地址供大家下载源代码:
github地址:https://github.com/jczmdeveloper/XCVideoCompressor
下载下来之后把根目录里面的ffmpeg4android_lib文件夹以module库的形式导入到我们的项目中,然后把app目录下的util和video连个文件夹下的代码拷到我们的项目中,就可以直接使用了。
下面是使用方法:
//mInputStr:原始视频地址路径 VideoCompressor.compress(this, mInputStr, new VideoCompressListener() { @Override public void onSuccess(final String outputFile, String filename, long duration) {//成功 } @Override public void onFail(final String reason) {//失败 } @Override public void onProgress(final int progress) {//压缩进度 } });
以上是压缩的使用方法:只需要传入一个上下文对象,一个视频地址,一个视频压缩回调接口,实现三个方法,同学们可以分别在三个回调方法中做相应的操作。回调方法很容易理解,注释就不详细的写了。使用方法就介绍完了。 关于压缩命令:
关于ffmpeg的压缩命令,在这个项目中的运用,大家可以使用 Ctrl + 鼠标左键点击上面的压缩方法compress,即可看到上面的压缩命令,也就是VideoCompressor这个类中的静态变量:mStrCmd。这个变量的内容就是该项目的视频压缩命令了,关于压缩命令的详解,下面放一个地址,大家可以做参考来修改压缩命令达到大家的需求。
ffmpeg命令参数详解:https://segmentfault.com/a/1190000002502526
再放一个官网的连接:http://ffmpeg.org/
因为我也是第一次搞这个东西,上面方法的两个地址可能不是很全面,也不是很好,但是对于菜鸟来说,这两个就够用了,如果大家以后找到更好的ffmpeg参数详解的博文,希望大家留言互相讨论。
最后:
这里需要注意,再打包发布版本的apk时,编译可能会报错,出现module中的string文件中的部分乱码,可能导致编译不通过,不过没关系,我们只需要再我们主工程app下的build.gradle中的android根括号内添加以下代码,就可以通过了:
android { ... lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue to check for errors in release builds, // but continue the build even when errors are found: abortOnError false } }
好了,添加完上述代码,就可以编译通过了。 本篇文章到此介绍完毕,有不对的地方大家可以在下方评论留言,多交流。谢谢观看!!
更多相关文章
- Android(安卓)EditText 限制只能输入指定范围的数字
- github上开源的优秀android项目
- Android(安卓)5.0 Material Design酷炫风格的开源项目集合
- android手动连接wifi的过程
- android 6.0获取mac 地址都是02:00:00:00:00:00 的问题
- Android压缩图片到100K以下并保持不失真的高效方法
- 总结了近百个Android优秀开源项目,覆盖Android开发的每个角落。
- Android实现无线调试自己的应用
- 如何删除Android系统中的内置应用