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及更高版本