调用start函数,传入参数如下:
originalPath:字符串类型,本地文件路径;
appName:字符串类型,app名称(压缩后会根据此参数进行文件保存);
isUseTimestampNaming://布尔类型,默认为false,可选,是否以时间戳命名文件,默认命名格式为'appName-temp';
level:字符串类型,可选,压缩等级,默认普通。{high-保持高质量,medium-普通,low-省流};
结果回调:
回调中一定存在code和msg字段,根据code的值来做进一步的业务;
code值为字符串:"0"-压缩成功;"1"-压缩中;"-1"-压缩失败;
code值为1时,回调一个字段为progress的进度值。
调用视频压缩插件注意事项
由于插件仅仅提供了android版,所以建议判断平台为‘android’,再进行调用,可调用uni.getSystemInfo方法来获取platform进行判断。
实例代码:
//引入插件
//const leleCompressor = uni.requireNativePlugin('Lele-Compressor');
compressor(oPath) {
let that = this
carleaCompressor.start({
originalPath: oPath,//原始文件地址
appName: "zhfj",//app名
isUseTimestampNaming: false,//可选,是否以时间戳命名文件,默认命名格式为'appName-temp'
level: "medium"//可选,压缩等级,默认普通。{high-保持高质量,medium-普通,low-省流}
}, result => {
const msg = JSON.stringify(result);
switch (result.code) {
case '0':
modal.toast({
message: msg,
duration: 1.5
});
that.progress = 100
console.log("callback---code--" + result.code);
console.log("callback---msg--" + result.msg);
console.log("callback---compressedPath--" + result.compressedPath);
that.compressedPath = result.compressedPath
break;
case '1':
that.progress = Math.round(result.progress * 100) / 100
// that.progress = result.progress.toFixed(2)
console.log("callback---code--" + result.code);
console.log("callback---msg--" + result.msg);
console.log("callback---progress--" + result.progress);
break;
case '-1':
modal.toast({
message: msg,
duration: 1.5
});
console.log("callback---code--" + result.code);
console.log("callback---msg--" + result.msg);
break;
}
});
},