videoMerge
来自于:AC模块工作室立即使用
概述**
本模块封装了视频合并模块,可将多个视频首尾相接合并为一个视频。开发者可自定义合并后的视频的类型。
注意:
1,模块没有格式转换功能,所以要合并的多个视频格式必须一致
2,模块不自动识别视频方向并调整,所以要合并的多个视频方向必须一致
3,如果原视频质量比较低,则无法合成输出高质量是视频
模块接口
merge
合并视频
merge({params}, callback(ret))
params
videos:
- 类型:数组
- 描述:合并的视频的地址组成的数组,要求本地路径(fs://、widget://。android端不支持widget://)
export:
- 类型:JSON对象
- 描述:(可选项)输出视频的配置
- 内部字段:
{
name: '', //(可选项)字符串类型;合并后的视频名字,若不传或传空则取默认值:mergedVideo
type: '', //(可选项)字符串类型;合并后的视频类型(后缀名),取值范围如下:
//iOS 平台支持的类型
//mov:后缀名为mov格式的视频文件
//mp4(默认值):后缀名为mp4格式的视频文件
//Android 平台支持的类型
//mp4(默认值):后缀名为mp4格式的视频文件
path: '' //(可选项)字符串类型;合并后的视频位置,必须为文件夹路径,若不存在则模块自动创建,要求本地路径(fs://)不支持widget://。如:fs://videoMerge/videos;
//若不传或传空,则默认存放到临时数据目录下,此时可调用clearCache接口清除本模块产生的临时视频文件
//若同目录下已存在同名的视频文件,则模块会先删除已存在的视频文件
}
quality:
- 类型:字符串
- 描述:(可选项)录像视频质量(android不支持)
- 默认:默认值是480p
- 取值范围:
- high:超清视频
- low:普通质量视频
- 540p:960x540
- 480p:640*480
- 720p:1280*720
- 1080p:1920* 1080
- 2160p:3840* 2160(不支持iPhone6 plus)
- medium:高清视频
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : //布尔类型;是否合并成功
realPath: '' //字符串类型;合并后的视频的绝对路径
}
示例代码
var videoMerge = api.require('videoMerge');
videoMerge.merge({
videos: [
'fs://img/video1.mp4',
'fs://img/video2.mp4'
],
export: {
name: '',
type: '',
path: ''
}
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
clearCache
清除本模块产生的视频文件,本接口仅当 merge -> export -> path 参数不传或传空时有效,本接口只清除本模块产生的临时数据,若要清除本 app 缓存的所有数据则调用 api.clearCache
clearCache()
示例代码
var videoMerge = api.require('videoMerge');
videoMerge.clearCache();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本