meisheVideo

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

open close openClipView closeClipView openPreviewView closePreviewView flashOn flashOff setMusic setVolumn generateVideo addEventListener conversion

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

概述

概述

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

系统要求

  • ios:

    • SDK支持iOS 8.0及以上版本系统
  • Android:

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

输入规范

  1. - 视频格式:MP4MOVWMVM2VMPG
  2. - 音频格式:MP3FLACAACM4A
  3. - 图片格式:JPGPNG
  4. - 视频编码:H264WMVMPEG4
  5. - 音频编码:MP3AACPCMFLAC

法律声明

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

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

open

打开视频录制页面

open(callback(ret))

params

rect:

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

defaultMusic:

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

timeMax:

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

timeMin:

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

fixedOn:

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

fixed:

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

callback(ret, err)

ret:

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

err:

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

示例代码

  1. var meisheVideo = api.require('meisheVideo');
  2. meisheVideo.open({
  3. rect:{
  4. x:0,
  5. y:0,
  6. w:320,
  7. h:300
  8. },
  9. fixedOn:api.frameName,
  10. fixed:true
  11. },function(ret){
  12. if (ret.status) {
  13. api.alert(ret.eventType);
  14. } else {
  15. api.alert({ msg:JSON.stringify(err)});
  16. }
  17. })

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭录制页面

close()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openClipView

打开视频编辑页面

openClipView(callback(ret))

params

rect:

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

path:

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

fixedOn:

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

fixed:

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

callback(ret, err)

ret:

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

err:

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

示例代码

  1. var meisheVideo = api.require('meisheVideo');
  2. meisheVideo.openClipView({
  3. rect:{
  4. x:0,
  5. y:0,
  6. w:320,
  7. h:300
  8. },
  9. path:'',
  10. fixedOn:api.frameName,
  11. fixed:true
  12. },function(ret){
  13. if (ret.status) {
  14. api.alert(ret.eventType);
  15. } else {
  16. api.alert({ msg:JSON.stringify(err)});
  17. }
  18. })

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeClipView

关闭编辑视频页面

closeClipView()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openPreviewView

打开视频预览页面

openPreviewView(callback(ret))

params

rect:

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

lstRecFiles:

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

defaultMusic:

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

trimOut:

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

fixedOn:

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

fixed:

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

callback(ret, err)

ret:

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

err:

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

示例代码

  1. var meisheVideo = api.require('meisheVideo');
  2. meisheVideo.openPreviewView({
  3. rect:{
  4. x:0,
  5. y:0,
  6. w:320,
  7. h:300
  8. },
  9. lstRecFiles:[],
  10. },function(ret){
  11. api.alert(JSON.stringify(ret));
  12. })

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

closePreviewView

关闭视频预览页面

closePreviewView()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

flashOn

打开手电筒

flashOn()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

flashOff

关闭手电筒

flashOff()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

setMusic

设置背景音乐

setMusic(callback(ret))

params

musicPath:

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

trimIn:

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

trimOut:

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

callback

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setVolumn

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

setVolumn(callback(ret))

params

BGMVolume:

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

originalSoundVolume:

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

callback

ret:

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

示例代码

  1. var meisheVideo = api.require('meisheVideo');
  2. meisheVideo.setVolumn({
  3. BGMVolume:50,
  4. originalSoundVolume:50
  5. },function(ret){
  6. alert(JSON.stringify(ret));
  7. })

可用性

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对象
  • 描述:返回值
  1. {
  2. status:true // 布尔类型;生成是否完成
  3. msg:'' //字符类型;错误信息
  4. }

示例代码

  1. var meisheVideo = api.require('meisheVideo');
  2. meisheVideo.generateVideo({
  3. savePath:'fs://test',
  4. resolution:480,
  5. },function(ret){
  6. alert(JSON.stringify(ret));
  7. })

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addEventListener

添加监听

addEventListener(params, callback(ret))

callback

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

conversion

视频转换(仅支持iOS)

conversion(params, callback(ret))

params

localIdentifier:

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

bitrateGrade:

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

callback

ret:

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

示例代码

  1. var meisheVideo = api.require('meisheVideo');
  2. meisheVideo.conversion({
  3. localIdentifier:''
  4. },function(ret){
  5. alert(JSON.stringify(ret));
  6. })

可用性

iOS系统

可提供的1.0.1及更高版本

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。