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版需要升级环境编译)
输入规范
- 视频格式: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:
- 类型:字符串类型(不传没有背景音乐)
- 描述:默认视频路径(支持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:
- 类型:字符串类型(不传没有背景音乐)
- 描述:(可选项)默认视频路径(支持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及更高版本
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。