videoCompression

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

compression getProgress cancel clearCache

概述

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

android注意事项

1、对于较大的视频文件,可以用本模块压缩,但是比较费时,所以不建议用该模块对较大的文件做压缩

2、从1.0.5版本开始,升级的SDK,使用升级环境编译,且只支持3种压缩格式,

compression

压缩本地视频文件

compression({params}, callback(ret))

params

path:

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

quality:

  • 类型:字符串
  • 描述:(可选项)压缩视频质量,注意:在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 对象
  • 内部字段:
  1. {
  2. eventType: exporting’, //字符串类型;交互事件类型,取值范围如下:
  3. //exporting:正在压缩,压缩进度为0-100
  4. //failed:失败
  5. //completed:压缩完成事件 ,此时压缩进度为100
  6. //cancelled:取消 (压缩进行中有效)
  7. path: '' , //字符串类型;压缩后视频路径,仅当 eventType 为 completed 时有效
  8. progress: //数字类型;当前压缩进度百分比:0-100
  9. }

示例代码

  1. var videoCompression = api.require('videoCompression');
  2. videoCompression.compression({
  3. path: '',
  4. quality: ''
  5. }, function(ret) {
  6. if(ret.eventType == 'exporting'){
  7. console.log(JSON.stringify(ret));
  8. } else {
  9. api.alert({msg:JSON.stringify(ret)});
  10. }
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getProgress

获取当前压缩视频的进度

getProgress({params}, callback(ret, err))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. progress: 30 //数字类型;压缩进度百分比:0-100
  3. }

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancel

停止,取消视频压缩

cancel({params})

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearCache

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

clearCache()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本