videoKit
来自于:开发者
compressVideo clipVideo captureScreen getVideoDuration
概述
本模块通过封装视频处理命令,提供本地视频文件压缩,手动选取时间段裁剪视频,任意时间点截屏以及获取视频时长的功能。
模块接口
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及更高版本