原文出自
这是之前的项目
因为找不到原文作者 只是找到了一个转载的文章 所以就把链接放了进来 这个项目个人亲测是可以用的 速度也比较快 但是有一点点小问题 简单的做了一个说明
1.我把项目重新Fock了一下适配到了Androidx
2.经个人测试 当视频文件放到/storage/emulated/0/Android/data/xxx/file/xxx
的时候压缩是不成功的 具体原因个人猜测可能是因为系统对data文件夹有限制 而放到/storage/emulated/0/Download/xxx
和/storage/emulated/0/Android/media/xxx/xxx
下项目可以正常压缩
至于具体的原理学艺不精确实说不太明白 只能说这个压缩还是比较快的 压缩率大概是50%左右 比FFmpeg的上手难度要小 毕竟不需要再去集成so文件
最主要的代码其实就是这一块
VideoCompress.compressVideoMedium(tv_input.getText().toString(), destPath, new VideoCompress.CompressListener() {
@Override
public void onStart() {
//开始压缩
}
@Override
public void onSuccess() {
//压缩成功
}
@Override
public void onFail() {
//应该是压缩失败 但是我没触发过
}
@Override
public void onProgress(float percent) {
//压缩的进度条
}
});
使用方法 可以直接把项目里面的videocompress
这个module拿出来复制到自己的项目里 剩下的看下demo就好了
新的Demo地址
如果哪里写的不对 希望大佬予以指正
网友评论