videoKit

来自于:开发者立即使用

概述

本模块通过封装视频处理命令,提供本地视频文件压缩,手动选取时间段裁剪视频,任意时间点截屏以及获取视频时长的功能。

模块接口

compressVideo

压缩本地视频文件

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

params

path:

  • 类型:字符串
  • 默认值:无
  • 描述:通过文件选择器获得的本地视频文件url,不可为空。

quality:

  • 类型:字符串
  • 默认值:'m'
  • 描述:(可选项)视频压缩质量,取值l, m, h。其中l为low,m为medium,h为high。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    oper: 'complete',      //字符串类型;操作状态:complete-完成;progress-进度
    info: './VideoKit/sample.mp4'       //字符串类型:oper为complete时返回压缩文件的输出路径,oper为progress时返回压缩进度,如1,2,3...50...99,100
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 40003,    //错误码, 数字类型
    msg: '文件压缩失败'    //错误信息, 字符串类型。40001-文件不存在或者为空文件,40002-格式未知的视频文件
}

示例代码

var progress = document.getElementById('progress'); //显示进度
var myVideo = document.getElementById('myVideo');
var videoKit = api.require("videoKit");
videoKit.compressVideo({
    path: "original.mp4"
}, function(ret, err) {
    if (ret) {
        if (ret.oper == 'progress') {
            var percent = ret.info;
            $api.text(progress, '正在压缩视频 ' + percent + '% ......');
        } else if (ret.oper == 'complete') {
            $api.attr(myVideo, 'src', ret.info);
        }
    }
});

可用性

Android系统

可提供的1.0.0及更高版本

clipVideo

手动选取时间段裁剪视频

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

params

path:

  • 类型:字符串
  • 默认值:无
  • 描述:通过文件选择器获得的本地视频文件url,不可为空。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    oper: 'complete',      //字符串类型;操作状态:complete-完成
    info: './VideoKit/result.mp4'       //字符串类型:oper为complete时返回裁剪后文件的输出路径
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 40005,    //错误码, 数字类型
    msg: '参数错误'    //错误信息, 字符串类型。40001-文件不存在或者为空文件,40002-格式未知的视频文件
}

示例代码

var videoKit = api.require("videoKit");
videoKit.clipVideo({
    path: "original.mp4"
}, function(ret, err) {
    if (ret && ret.oper == 'complete') {
        alert(ret.info);
    }
});

可用性

Android系统

可提供的1.0.0及更高版本

captureScreen

任意时间点截屏

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

params

path:

  • 类型:字符串
  • 默认值: 无
  • 描述:通过文件选择器获得的本地视频文件url,不可为空。

startTime:

  • 类型: 字符串
  • 默认值: '0'
  • 描述:(可选项)截屏时间点,数量级为秒,如0,3.5,10等,超过总长报错。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,                          //布尔类型;状态值,true|false
    info: './VideoKit/sample.jpg',       //字符串类型: 生成的图片路径
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 40007,                    //错误码
    msg:  '起始时间超出视频长度'    //字符串类型;错误信息
}

示例代码

var videoKit = api.require("videoKit");
videoKit.captureScreen({
    path: ret.list[0].path,
    startTime: '10'
}, function(ret, err) {
    if (ret && ret.status) {
        alert(ret.info);
    }
});

可用性

Android系统

可提供的1.0.0及更高版本

getVideoDuration

获取视频总时长

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

params

path:

  • 类型:字符串
  • 默认值:无
  • 描述:通过文件选择器获得的本地视频文件url,不可为空。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    info: 84800       //字符串类型: 视频总时长,秒数*1000。如果视频是84.8秒,则结果为84800
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 40008,             //错误码
    msg:  '获取时长失败'    //字符串类型;错误信息
}

示例代码

var videoKit = api.require("videoKit");
videoKit.getVideoDuration({
    path: ret.list[0].path
}, function(ret, err) {
    if (ret) {
        alert(ret.info);
    }
});

可用性

Android系统

可提供的1.0.0及更高版本