videoCompression
概述
本模块封装了 iOS 、android 平台上原生视频压缩的功能。对于大型视频文件,压缩时可获取其压缩进度,支持设置压缩视频质量等功能。
1、对于较大的视频文件,可以用本模块压缩,但是比较费时,所以不建议用该模块对较大的文件做压缩
2、从1.0.5版本开始,升级的SDK,使用升级环境编译,且只支持3种压缩格式,
compression
压缩本地视频文件
compression({params}, callback(ret))
params
path:
- 描述:要压缩的视频文件路径,要求本地路径(fs://a/test.mp4、自定义sd卡路径)
- 类型:字符串
- 描述:(可选项)压缩视频质量,注意:在android端要等比压缩,比如2160p为16:9 可以压缩为16:9的720p,不能压缩为4:3的480p
- 默认:low
- 取值范围:
- low:低质量(iOS端为224*128)
- medium:中质量(iOS端为568x320)
- high:高质量(iOS端为1920x1080)
- 480p:640x480 (android不支持)
- 540p:960x540(android不支持)
- 720p:1280x720(android不支持)
- 1080p:1920x1080(android不支持)
- 2160p:3840x2160 (android不支持)
- HEVCHigh:HEVC高质量(android不支持)
- HEVC1080p:HEVC1920x1080(android不支持)
- HEVC2160p:HEVC3840x2160(android不支持)
callback(ret)
ret:
- 类型:JSON 对象
示例代码
videoCompression.compression({
path: '',
quality: ''
}, function(ret) {
console.log(JSON.stringify(ret));
} else {
api.alert({msg:JSON.stringify(ret)});
}
iOS系统,Android系统
可提供的1.0.0及更高版本
getProgress
获取当前压缩视频的进度
getProgress({params}, callback(ret, err))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
示例代码
var videoCompression = api.require('videoCompression');
videoCompression.getProgress(function(ret) {
alert(ret.progress);
});
可用性
iOS系统,Android系统
cancel
停止,取消视频压缩
cancel({params})
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
clearCache
清除本地存放的压缩的视频文件,本接口只清除本模块压缩视频文件,调用 api.clearCache接口也会清除压缩的视频文件
clearCache()
示例代码
videoCompression.clearCache();
可用性
iOS系统,Android系统