videoCompression

来自于:AC模块工作室立即使用

概述

本模块封装了 iOS 、android 平台上原生视频压缩的功能。对于大型视频文件,压缩时可获取其压缩进度,支持设置压缩视频质量等功能。

compression

压缩本地视频文件

compression({params}, callback(ret))

params

path:

  • 类型:字符串
  • 描述:要压缩的视频文件路径,要求本地路径(fs://a/test.mp4、自定义sd卡路径)

quality:

  • 类型:字符串
  • 描述:(可选项)压缩视频质量
  • 默认:low
  • 取值范围:
    • low:低质量
    • medium:
    • high:

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: ‘exporting’,  //字符串类型;交互事件类型,取值范围如下:
                             //unknown:未知错误
                             //waiting:正在准备
                             //exporting:正在压缩
                             //failed:失败
                             //completed:压缩完成事件
                             //cancelled:取消(Android暂不支持)
    path: '' ,               //字符串类型;压缩后视频路径,仅当 eventType 为 complete 时有效
    progress:                //数字类型;当前压缩进度百分比:0-100
}

示例代码

var videoCompression = api.require('videoCompression');
videoCompression.compression({
    path: '',
    quality: ''
}, function(ret) {
    if(ret.eventType == 'exporting'){
        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 对象
  • 内部字段:
{
    progress: 30         //数字类型;压缩进度百分比:0-100
}

示例代码

var videoCompression = api.require('videoCompression');
videoCompression.getProgress(function(ret) {
  alert(ret.progress);
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancel

停止,取消视频压缩

cancel({params})

示例代码

var videoCompression = api.require('videoCompression');
videoCompression.cancel();

可用性

iOS系统(Android系统暂不支持)

可提供的1.0.0及更高版本

clearCache

清除本地存放的压缩的视频文件,本接口只清除本模块压缩视频文件,调用 api.clearCache接口也会清除压缩的视频文件

clearCache()

示例代码

var videoCompression = api.require('videoCompression');
videoCompression.clearCache();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本