meisheVideo

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

概述

概述

美摄SDK可以帮助开发者快速的在APP中实现视频制作服务,包括视频、图片处理、视频基础编辑、快速包装渲染等等,开发者可以根据自己的创意创建APP,实现各种特色功能,美摄公司会随时根据手机系统、手机硬件、使用场景的变化,快速调整,完善,升级SDK工具包,保证SDK包的稳定性、高效率、高兼容性、给开发者带来良好的服务体验。

系统要求

  • ios:
    • SDK支持iOS 8.0及以上版本系统
  • Android:
    • SDK支持Android 4.2及以上版本(注意:android版需要升级环境编译)

输入规范

- 视频格式:MP4、MOV、WMV、M2V、MPG
- 音频格式:MP3、FLAC、AAC、M4A
- 图片格式:JPG、PNG
- 视频编码:H264、WMV、MPEG4
- 音频编码:MP3、AAC、PCM、FLAC

法律声明

  • 美摄SDK是一款为开发者快速接入视频拍摄、编辑、制作服务的软件开发工具包,北京美摄网络有限公司(简称美摄公司)拥有该产品的全部知识产权。开发者在签订协议后,拥有对于此款产品的使用权。开发者在使用此产品时,不得违反中华人民共和国有关法律法规及相关政策,因使用此产品发生任何争议由开发者自行解决并承担相关责任,如造成美摄公司损失的(包括但不限于财产损失、名誉损失等),还应承担赔偿责任。

  • 美摄公司拥有对于美摄SDK、开发文档、及其他相关文件拥有全部版权,在未经美摄公司书面许可的情况下,不得复制、修改和擅自分发,如有相关情况,美摄会根据相应法律进行追责。

open

打开视频录制页面

open(callback(ret))

params

rect:

  • 类型:JSON 类型
  • 描述:(可选项)预览窗口的位置及大小
  • 内部字段:
{
    x: 0,                              //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,                              //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w:414,                             //(可选项)数字类型;模块宽度(相对于所属的 Window 或 Frame;默认300
    h:300                              //(可选项)数字类型;模块高度(相对于所属的 Window 或 Frame;默认300
}

defaultMusic:

  • 类型:字符串类型(不传没有背景音乐,android必传)
  • 描述:默认视频路径(支持fs:// widget:// 以及系统本地路径)

timeMax:

  • 类型:数字类型
  • 描述:(可选项)视频时间最大限制
  • 默认:30(秒)

timeMin:

  • 类型:数字类型
  • 描述:(可选项)视频时间最小限制
  • 默认:10(秒)

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)模块是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

callback(ret, err)

ret:

  • 类型:JSON对象
  • 描述:返回值
{
   status: true           //布尔类型;是否打开成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg: ''            //字符串类型;错误信息
}
    // confirmClick 编辑页面确定按钮

示例代码

var meisheVideo = api.require('meisheVideo');
meisheVideo.open({
    rect:{
        x:0,
        y:0,
        w:320,
        h:300
    },
    fixedOn:api.frameName,
    fixed:true        
},function(ret){
     if (ret.status) {
        api.alert(ret.eventType);
    } else {
        api.alert({ msg:JSON.stringify(err)});
    }
})

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭录制页面

close()

示例代码

var meisheVideo = api.require('meisheVideo');
meisheVideo.close()

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openClipView

打开视频编辑页面

openClipView(callback(ret))

params

rect:

  • 类型:JSON 类型
  • 描述:(可选项)预览窗口的位置及大小
  • 内部字段:
{
    x: 0,                              //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,                              //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w:414,                             //(可选项)数字类型;模块宽度(相对于所属的 Window 或 Frame;默认300
    h:300                              //(可选项)数字类型;模块高度(相对于所属的 Window 或 Frame;默认300
}

path:

  • 类型:字符串类型
  • 描述:相册视频路径;iOS传入视频文件在相册中的标识符即可

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)模块是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

callback(ret, err)

ret:

  • 类型:JSON对象
  • 描述:返回值
{
   status: true           //布尔类型;是否打开成功,true|false                
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg: ''            //字符串类型;错误信息
}

示例代码

var meisheVideo = api.require('meisheVideo');
meisheVideo.openClipView({
    rect:{
        x:0,
        y:0,
        w:320,
        h:300
    },
    path:'',
    fixedOn:api.frameName,
    fixed:true        
},function(ret){
     if (ret.status) {
        api.alert(ret.eventType);
    } else {
        api.alert({ msg:JSON.stringify(err)});
    }
})

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeClipView

关闭编辑视频页面

closeClipView()

示例代码

var meisheVideo = api.require('meisheVideo');
meisheVideo.closeClipView()

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openPreviewView

打开视频预览页面

openPreviewView(callback(ret))

params

rect:

  • 类型:JSON 类型
  • 描述:(可选项)预览窗口的位置及大小
  • 内部字段:
{
    x: 0,                              //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,                              //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w:414,                             //(可选项)数字类型;模块宽度(相对于所属的 Window 或 Frame;默认300
    h:300                              //(可选项)数字类型;模块高度(相对于所属的 Window 或 Frame;默认300
}

lstRecFiles:

  • 类型:数组
  • 描述:视频路径;支持fs:// widget:// 以及系统本地路径;如果是相册标识符(示例:7BCE6D33-70D0-4EDD-942E-D381C7B6179F/L0/001),需调用conversion接口进行转换

defaultMusic:

  • 类型:字符串类型(不传没有背景音乐,android必传)
  • 描述:(可选项)默认视频路径(支持fs:// widget:// 以及系统本地路径)

trimOut:

  • 类型:数字
  • 描述:(可选项)背景音乐出点(defaultMusic有值是为必选项)

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)模块是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

callback(ret, err)

ret:

  • 类型:JSON对象
  • 描述:返回值
{
   status: true           //布尔类型;是否打开成功,true|false                
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg: ''            //字符串类型;错误信息
}

示例代码

var meisheVideo = api.require('meisheVideo');
meisheVideo.openPreviewView({
    rect:{
        x:0,
        y:0,
        w:320,
        h:300
    },
    lstRecFiles:[],    
},function(ret){
    api.alert(JSON.stringify(ret));
})

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

closePreviewView

关闭视频预览页面

closePreviewView()

示例代码

var meisheVideo = api.require('meisheVideo');
meisheVideo.closePreviewView()

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

flashOn

打开手电筒

flashOn()

示例代码

var meisheVideo = api.require('meisheVideo');
meisheVideo. flashOn()

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

flashOff

关闭手电筒

flashOff()

示例代码

var meisheVideo = api.require('meisheVideo');
meisheVideo.flashOff()

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

setMusic

设置背景音乐

setMusic(callback(ret))

params

musicPath:

  • 类型:字符串类型
  • 描述:默认音频路径(支持fs:// widget:// 以及系统本地路径)

trimIn:

  • 类型:数字类型
  • 描述:背景音乐入点(单位:秒)

trimOut:

  • 类型:数字类型
  • 描述:背景音乐出点(单位:秒)

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    status:true // 布尔类型;是否设置成功
}

示例代码

var meisheVideo = api.require('meisheVideo');
meisheVideo.setMusic({
    musicPath:'fs://testMusic.mp3'    
},function(ret){
    alert(JSON.stringify(ret));
})

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setVolumn

设置背景音乐音量和原声音量

setVolumn(callback(ret))

params

BGMVolume:

  • 类型:数字类型
  • 描述:背景音乐音量
  • 取值范围:0~100

originalSoundVolume:

  • 类型:数字类型
  • 描述:原声音量
  • 取值范围: 0~100

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    status:true // 布尔类型;是否设置成功
}

示例代码

var meisheVideo = api.require('meisheVideo');
meisheVideo.setVolumn({
    BGMVolume:50,
    originalSoundVolume:50    
},function(ret){
    alert(JSON.stringify(ret));
})

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

generateVideo

生成视频

generateVideo(params, callback(ret))

params

savePath:

  • 类型:字符串
  • 描述:保存路径(仅支持fs:// 和 Android本地路径)
  • 示例路径:‘fs://123.mp4’

resolution:

  • 类型:数字
  • 描述:分辨率
  • 默认:720
  • 取值范围:
    • 360
    • 480
    • 720
    • 1080

bitrateGrade:

  • 类型:字符串
  • 描述:码率级别(码率越高视频越清晰,视频文件也越大)
  • 默认:high
  • 取值范围:
    • high
    • medium
    • low

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    status:true // 布尔类型;生成是否完成
    msg:''      //字符类型;错误信息
}

示例代码

var meisheVideo = api.require('meisheVideo');
meisheVideo.generateVideo({
    savePath:'fs://test',
    resolution:480,
},function(ret){
    alert(JSON.stringify(ret));
})

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addEventListener

添加监听

addEventListener(params, callback(ret))

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
        eventType: 'nextStep' // 字符串;事件类型;取值范围如下:
              // showShoot 拍摄页面显示
              // closeShoot 拍摄页面关闭
                // showPreview 预览页面显示
                // closePreview 预览页面关闭
                // startRecord 开始刻录
                // nextStep 下一步
                // chooseMusic 选择音乐
                // chooseVideo 选择视频
                // showEdit 预览页面显示
                // closeEdit 预览页面关闭
                // confirmClick 编辑页面确定按钮
}

示例代码

var meisheVideo = api.require('meisheVideo');
meisheVideo.addEventListener(function(ret){
    alert(JSON.stringify(ret));
})

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

conversion

视频转换(仅支持iOS)

conversion(params, callback(ret))

params

localIdentifier:

  • 类型:字符串
  • 描述:视频文件在相册中的标识符

bitrateGrade:

  • 类型:字符串
  • 描述:(可选项)码率级别(码率越高视频越清晰,视频文件也越大)
  • 默认:high
  • 取值范围:
    • high
    • medium
    • low

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    status:true // 布尔类型;生成是否完成
    path:''      //字符类型;沙河路径
}

示例代码

var meisheVideo = api.require('meisheVideo');
meisheVideo.conversion({
   localIdentifier:''
},function(ret){
    alert(JSON.stringify(ret));
})

可用性

iOS系统

可提供的1.0.1及更高版本