openRecord startPreview stopPreview destroyRecorder switchCameraPosition switchTorchMode setTorchType focusPoint videoZoomFactor setFaceBeautify setFilter deleteFilter setAnimationFilte deleteAnimationFilter startRecording stopRecording cancelRecording getVideoPathList deletePart finishRecording
openMixSynthetic starMixSynthetic pauseMixSynthetic resumeMixSynthetic cancelMixSynthetic
videoCrop startCrop cancleCrop
videoEdit addMediaClip updateMediaClip deleteMediaClipAtIndex deleteAllMediaClips getMediaClipAtIndex getAllMediaClips mediaPlay mediaStop mediaPause mediaResume mediaIsPlaying mediaSeekTo getMediaDuration getMediaCurrentTime getCurrentStreamTime getClipStartTimeAtIndex setMediaRefreshFps setApplyTimeFilter setMediaMusic removeMusic removeAllMusic setAudioEffect removeAudioEffect setMainStreamsAudioEffect removeMainStreamsAudioEffect setMute setVolume setMainStreamsAudioWeight setAudioWeight setMainStreamsAudioDenoise setAudioDenoise setGraffiti changePaint removePaint undoPaint redoPaint undoAllChanges completePaint confirm applyPaintCanvas removeCanvas releaseCanvas setWaterMark setTailWaterMark applyTransition removeTransitionAtIndex compose cancelCompose
###视频合拍
openMixRecord setMixRecordCallback startMixRecordPreview stopMixRecordPreview startMixRecordRecording stopMixRecordRecording finishMixRecord cancleMixRecordFinish closeMixRecord
aliShortVideo简介
aliShortVideoAPI插件封装了阿里短视频的视频功能(标准版),包括视频录制、合拍、视频编辑、视频剪裁等功能。
短视频SDK服务需要开通License,开通方式请参考产品介绍页。iOS端注意:开通License后,请确保提交的bundle id和XCode中对应配置保持一致。
视频录制
openRecord({params}, callback(ret))
rect:
{
x: 0, //(可选项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 100, //(可选项)数字类型;插件的宽度;默认:100
h: 100 //(可选项)数字类型;插件的高度;默认:100
}
videoSize:
{
w: 100, //(可选项)数字类型;插件的宽度;默认:720
h: 100 //(可选项)数字类型;插件的高度;默认:1280
}
minDuration:
maxDuration:
gop
videoQuality
encodeMode
useFaceDetect:
faceDetectCount
faceDectectSync:
frontCaptureSessionPreset
backCaptureSessionPreset
recordFps
beautifyStatus:
beautifyValue
videoFlipH:
exposureValue
cameraType:
outPutPath:
fixedOn:
fixed:
ret:
{
status:, //成功还是失败
videoPath:'' //录制完成后才会返回
progress:, //小数类型;录制进度(仅android支持)
}
var name = api.require('aliShortVideoAPI');
name.openRecord({
minDuration:2, //最小时长
maxDuration:15,//最大时长
gop:5,//关键帧间隔
videoQuality:1,//视频清晰度
encodeMode:1,//b编码格
videoFlipH:false,//镜像输出
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
开始预览
startPreview(callback(ret))
var name = api.require('aliShortVideoAPI');
name.startPreview();
iOS系统,Android系统
可提供的1.0.0及更高版本
停止预览
stopPreview(callback(ret))
var name = api.require('aliShortVideoAPI');
name.stopPreview();
iOS系统,Android系统
可提供的1.0.0及更高版本
销毁预览
destroyRecorder(callback(ret))
var name = api.require('aliShortVideoAPI');
name.destroyRecorder();
iOS系统,Android系统
可提供的1.0.0及更高版本
切换摄像头
switchCameraPosition(callback(ret))
var name = api.require('aliShortVideoAPI');
name.switchCameraPosition();
iOS系统,Android系统
可提供的1.0.0及更高版本
循环切换手电筒模式 电筒模式有三种,分别是off,on和auto。切换顺序:off —-> on —-> auto。默认值:off
switchTorchMode(callback(ret))
var name = api.require('aliShortVideoAPI');
name.switchTorchMode();
iOS系统,Android系统
可提供的1.0.0及更高版本
设置手电筒模式
setTorchType({params}, callback(ret))
type:
var name = api.require('aliShortVideoAPI');
name.setTorchType();
iOS系统,Android系统
可提供的1.0.0及更高版本
手动对焦
坐标系为 openRecord 接口打开的视频预览区域,左上角为原点,往右为x正轴,往下为y正轴。
focusPoint({params}, callback(ret))
pointX:
pointY:
var name = api.require('aliShortVideoAPI');
name.focusPoint({
pointX:,
pointY:
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置变焦倍数 每次调用videoZoomFactor接口,实际变焦值zoom为设定的1/100。例:设置videoZoomFactor = 10.0f,实际zoom += 0.1f。如果您开启前置摄像头录制,那么当前设置无效
videoZoomFactor({params}, callback(ret))
videoZoomFactor:
var name = api.require('aliShortVideoAPI');
name.videoZoomFactor();
iOS系统,Android系统
可提供的1.0.0及更高版本
设置美颜值
setFaceBeautify({params}, callback(ret))
value:
var name = api.require('aliShortVideoAPI');
name.setFaceBeautify();
iOS系统,Android系统
可提供的1.0.0及更高版本
设置滤镜
setFilter({params}, callback(ret))
eid:
filterPath:
var name = api.require('aliShortVideoAPI');
name.setFilter();
iOS系统,Android系统
可提供的1.0.0及更高版本
移除滤镜
deleteFilter()
var name = api.require('aliShortVideoAPI');
name.deleteFilter();
iOS系统,Android系统
可提供的1.0.0及更高版本
设置特效
setAnimationFilte({params}, callback(ret))
eid:
filterPath:
duration:
startTime:
var name = api.require('aliShortVideoAPI');
name.setAnimationFilte();
iOS系统,Android系统
可提供的1.0.0及更高版本
移除特效
deleteAnimationFilter({params})
eid:
filterPath:
duration:
startTime:
var name = api.require('aliShortVideoAPI');
name.deleteAnimationFilter();
iOS系统,Android系统
可提供的1.0.0及更高版本
开始录制
startRecording()
var name = api.require('aliShortVideoAPI');
name.startRecording();
iOS系统,Android系统
可提供的1.0.0及更高版本
停止录制
stopRecording()
var name = api.require('aliShortVideoAPI');
name.stopRecording();
iOS系统,Android系统
可提供的1.0.0及更高版本
取消录制一个片段视频(仅android支持)
cancelRecording()
var name = api.require('aliShortVideoAPI');
name.cancelRecording();
Android系统
可提供的1.0.0及更高版本
完成录制(android端会将录制片段视频拼接)
finishRecording()
var name = api.require('aliShortVideoAPI');
name.finishRecording();
iOS系统,Android系统
可提供的1.0.0及更高版本
获取片段路径列表(仅android支持)
getVideoPathList()
ret:
{
status:, //布尔类型,是否成功
list:['',''], //数组类型 ;视频片段
}
err:
{
msg:'', //字符串类型;错误信息
}
var name = api.require('aliShortVideoAPI');
name.getVideoPathList({
function(ret,err){
}
});
Android系统
可提供的1.0.0及更高版本
删除片段视频(仅android支持)
deletePart({params})
deleteAll:
index:
var name = api.require('aliShortVideoAPI');
name.deletePart({});
Android系统
可提供的1.0.0及更高版本
合拍视频
openMix({params}, callback(ret))
rect:
{
x: 0, //(可选项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 100, //(可选项)数字类型;插件的宽度;默认:100
h: 100 //(可选项)数字类型;插件的高度;默认:100
}
videoSize:
{
w: 100, //(可选项)数字类型;插件的宽度;默认:720
h: 100 //(可选项)数字类型;插件的高度;默认:1280
}
videoPath:
minDuration:
maxDuration:
gop
videoQuality
encodeMode
useFaceDetect:
faceDetectCount
faceDectectSync:
frontCaptureSessionPreset
backCaptureSessionPreset
recordFps
beautifyStatus:
beautifyValue
exposureValue
ret:
{
eventType:, //字符串类型;交互事件类型;取值范围:
//finish:
//faild:
//start:
//progress:
videoPath:'' //字符串类型;视频拼接完成后的路径,仅当eventType为finish时有值
progress: //数字类型;进度,仅当eventType为progress时有值
}
var name = api.require('aliShortVideoAPI');
name.openMix({
minDuration:2, //最小时长
maxDuration:15,//最大时长
gop:5,//关键帧间隔
videoQuality:1,//视频清晰度
encodeMode:1,//b编码格式
recordType:0,//拍摄方式
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS 系统
可提供的1.0.0及更高版本
路径视频合成视频(多个视频合成一个)
openMixSynthetic({params}, callback(ret))
videoSize:
{
w: 100, //(可选项)数字类型;插件的宽度;默认:720
h: 100 //(可选项)数字类型;插件的高度;默认:1280
}
gop
fps
bitrate
videoQuality
videoPathArray:
[
{
trackId:'', //字符串类型;要添加到的轨道标识(仅android支持)
filePath:'', //字符串类型;视频路径
mode:0, //(可选项)数字类型;视频在轨道上的内容填充模式;默认:0
- 0 //Fit
- 1 //Fill
audioReference:true, //布尔类型;指定此轨道的音频作为最终合成视频的音频 ;默认:false(仅iOS支持)
durationReference:true //布尔类型;指定以此轨道的时长作为最终合成视频的时长 ;默认:false(仅iOS支持)
endTime:, //数字类型;结束时间 (仅android支持)
},
]
tracks
[{
trackId:‘’, //字符串类型,轨道唯一标识,以便在该轨道内添加视频
centerX:, //小数类型,轨道中心点x比例坐标
centerY:, //小数类型,轨道中心点y比例坐标
widthRatio:, //小数类型,轨道宽度占比
heightRatio:, //小数类型,轨道高度占比
audioReferenceTrack:, //布尔类型;是否为输出音频轨道,轨道数组中必须有且只有一个为true
durationReferenceTrack:, //布尔类型;是否为输出视频长度轨道,轨道数组中必须有且只有一个为true
}
]
outPath
crf
ret:
{
status:, //‘finish’,'faild',
videoPath:'' //录制完成后才会返回,(仅iOS支持)
progress: , //合成进度
errorCode:, //数字类型;错误码,(仅android支持)
}
var name = api.require('aliShortVideoAPI');
name.openMixSynthetic({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统,iOS系统
可提供的1.0.0及更高版本
开始路径视频合成(与openMixSynthetic使用)
starMixSynthetic()
var name = api.require('aliShortVideoAPI');
name.starMixSyntheticr();
Android系统,iOS系统
可提供的1.0.0及更高版本
暂停路径视频合成(与openMixSynthetic使用)
pauseMixSynthetic()
var name = api.require('aliShortVideoAPI');
name.pauseMixSynthetic();
Android系统,iOS系统
可提供的1.0.0及更高版本
恢复路径视频合成(与openMixSynthetic使用)
resumeMixSynthetic()
var name = api.require('aliShortVideoAPI');
name.resumeMixSynthetic();
Android系统,iOS系统
可提供的1.0.0及更高版本
取消路径视频合成(与openMixSynthetic使用)
cancelMixSynthetic()
var name = api.require('aliShortVideoAPI');
name.cancelMixSynthetic();
Android系统,iOS系统
可提供的1.0.0及更高版本
视频剪裁
videoCrop({params}, callback(ret))
videoPath:
outPath:
isVideo:
mediaType:
videoSize:
{
w: 100, //(可选项)数字类型;插件的宽度;默认:720
h: 100 //(可选项)数字类型;插件的高度;默认:1280
}
startTime:
endTime:
gop
videoQuality
encodeMode
fps
cropMode
bitrate
fillBackgroundColor
cropRect:
{
left:, //数字类型;裁剪左边框x轴坐标
top:, //数字类型;裁剪上边框y轴坐标
right:, //数字类型;裁剪右边框x轴坐标
bottom:, //数字类型;裁剪下边框y轴坐标
}
ret:
{
status:, //成功还是失败
videoPath:'' //剪裁完成后才会返回(仅iOS支持)
progress:, //数字类型;裁剪进度(仅android支持)
cancelComplete:, //布尔类型,是否取消,取消裁剪时返回true(仅android支持)
}
var name = api.require('aliShortVideoAPI');
name.videoCrop({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
开始剪裁视频
startCrop(callback(ret))
ret:
{
status:, //‘finish’,'faild',
videoPath:'' //剪裁完成后才会返回,
progress: //剪裁进度
}
var name = api.require('aliShortVideoAPI');
name.startCrop(function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
取消剪裁视频(android可取消图片)
cancleCrop(callback(ret))
ret:
{
status:, //‘finish’,完成取消
}
var name = api.require('aliShortVideoAPI');
name.cancleCrop(function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
图片剪裁,(仅iOS支持,android端图片裁剪设置见videoCrop接口)
imageCrop({params}, callback(ret))
cropRect:
{
x: 0, //(可选项)数字类型;左上角的 x 坐标(相对于被裁减的图片);默认:0
y: 0, //(可选项)数字类型;左上角的 y 坐标(相对于被裁减的图片);默认:0
w: 100, //(可选项)数字类型;裁剪后的宽度;默认:0
h: 100 //(可选项)数字类型;裁剪后的高度;默认:0
}
imagePath:
videoSize:
{
w: 100, //(可选项)数字类型;插件的宽度;默认:720
h: 100 //(可选项)数字类型;插件的高度;默认:1280
}
cropMode
fillBackgroundColor
ret:
{
status:, //成功还是失败
imagePath:'' //剪裁完成后才会返回
}
var name = api.require('aliShortVideoAPI');
name.imageCrop({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统
可提供的1.0.0及更高版本
视频、图片、GIF图编辑
videoEdit({params}, callback(ret))
rect:
{
x: 0, //(可选项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 100, //(可选项)数字类型;插件的宽度;默认:100
h: 100 //(可选项)数字类型;插件的高度;默认:100
}
outPath:
videoSize:
{
w: 100, //(可选项)数字类型;插件的宽度;默认:720
h: 100 //(可选项)数字类型;插件的高度;默认:1280
}
gop
videoQuality
codeType
mode
fps
clip:
[{
id:, //(可选项)数字类型;唯一标识(仅android支持)
editType:0, //(可选项)数字类型;编辑类型(视频、图片、GIF图)
- 0:视频
- 1:图片
- 2:GIF图(仅iOS支持)
path: '', //字符串类型;(视频、图片、GIF图)路径; 支持widget://和fs://,android仅支持fs
startTime: 0 , //(可选项)数字类型;播放的时间长度(视频和GIF有效);默认:0
duration: , //(可选项)数字类型;播放的时间长度;默认:视频时长;图片3秒;GIF时长(从0开始播放)
animDuration:0, //(可选项)数字类型;过渡动画时长;默认:0(仅iOS支持)
},
]
frameRate:
fixedOn:
fixed:
ret:
{
status:, //成功还是失败
eventType:'', //字符串类型,回调事件(仅android支持)
‘end’:结束
‘dataReady’:播放数据准备完成
‘error’:错误
‘playProgress’:播放进度
endCode:, //数字类型;eventType为‘end’时返回(仅Android支持)
errorCode:, //数字类型。eventType为‘error’时返回(仅Android支持)
currentPlayTime:, //数字类型;当前播放时间 eventType为‘playProgress’时返回(仅Android支持)
currentStreamPlayTime:, //数字类型;当前播放的视频时间,eventType为‘playProgress’时返回(仅Android支持)
}
var name = api.require('aliShortVideoAPI');
name.videoEdit({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
增加媒体片段(视频、图片、GIF图)
addMediaClip({params}, callback(ret))
index
clip:
{
id:, //(可选项)数字类型;唯一标识(仅android支持)
editType:0, //(可选项)数字类型;编辑类型(视频、图片、GIF图)
- 0:视频
- 1:图片
- 2:GIF图
path: '', //字符串类型;(视频、图片、GIF图)路径; 支持widget://和fs://
startTime: 0 , //(可选项)数字类型;播放的时间长度(视频和GIF有效);默认:0
duration: , //(可选项)数字类型;播放的时间长度;默认:视频时长;图片3秒;GIF时长(从0开始播放)
animDuration:0, //(可选项)数字类型;过渡动画时长;默认:0(仅iOS支持)
transitionType:, //(可选项)数字类型,转场效果,0:圆形打开,1:淡入淡出,2:五角星打开,3:百叶窗,4:平移(仅android支持)
}
ret:
{
status:, //成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.addMediaClip({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
更新媒体片段(视频、图片、GIF图)
updateMediaClip({params}, callback(ret))
index
clip:
{
id:, //(可选项)数字类型;唯一标识(仅android支持)
editType:0, //(可选项)数字类型;编辑类型(视频、图片、GIF图)
- 0:视频
- 1:图片
- 2:GIF图
path: '', //字符串类型;(视频、图片、GIF图)路径; 支持widget://和fs://
startTime: 0 , //(可选项)数字类型;播放的时间长度(视频和GIF有效);默认:0
duration: , //(可选项)数字类型;播放的时间长度;默认:视频时长;图片3秒;GIF时长(从0开始播放)
animDuration:0, //(可选项)数字类型;过渡动画时长;默认:0(仅iOS支持)
transitionType:, //(可选项)数字类型,转场效果,0:圆形打开,1:淡入淡出,2:五角星打开,3:百叶窗,4:平移(仅android支持)
}
ret:
{
status:, //成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.updateMediaClip({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
删除某个媒体片段(视频、图片、GIF图)
deleteMediaClipAtIndex({params}, callback(ret))
index
ret:
{
status:, //成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.deleteMediaClipAtIndex({
index:0
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
删除所有媒体片段(视频、图片、GIF图)
deleteAllMediaClips( callback(ret))
ret:
{
status:, //成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.deleteAllMediaClips(function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取某个媒体片段(视频、图片、GIF图)
getMediaClipAtIndex({params}, callback(ret))
index
ret:
{
mediaType:0, //数字类型;媒体片段的类型
- 0:视频
- 1:图片
- 2:音频
- 3:GIF图(仅iOS支持)
mediaHeight:100, //数字类型;图片、视频高(仅iOS支持)
mediaWidth:100, //数字类型;图片、视频宽(仅iOS支持)
src:'', //片段资源本地路径
startTime:0, //数字类型;开始时间(android媒体片段为视频时返回)
fadeDuration:0, //数字类型;过渡时长(仅iOS支持)
displayMode:0, //数字类型;显示模式(仅iOS支持)
- 0:剪裁
- 1:填充
rotation:30, //数字类型;转角角度(android媒体片段为视频时返回)
duration:16, //数字类型;持续时长
streamId:10, //数字类型;片段id
audioMixWeight:80, //数字类型;音量大小(仅iOS支持)
}
var name = api.require('aliShortVideoAPI');
name.getMediaClipAtIndex({
index:0
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取所有媒体片段(视频、图片、GIF图)
getAllMediaClips(callback(ret))
ret:
{ data:[
{
mediaType:0, //数字类型;媒体片段的类型
- 0:视频
- 1:图片
- 2:音频
- 3:GIF图(仅iOS支持)
mediaHeight:100, //数字类型;图片、视频高(仅iOS支持)
mediaWidth:100, //数字类型;图片、视频宽(仅iOS支持)
src:'', //片段资源本地路径
startTime:0, //数字类型;开始时间(android媒体片段为视频时返回)
fadeDuration:0, //数字类型;过渡时长(仅iOS支持)
displayMode:0, //数字类型;显示模式(仅iOS支持)
- 0:剪裁
- 1:填充
rotation:30, //数字类型;转角角度(android媒体片段为视频时返回)
duration:16, //数字类型;持续时长
streamId:10, //数字类型;片段id
audioMixWeight:80, //数字类型;音量大小(仅iOS支持)
}
}
var name = api.require('aliShortVideoAPI');
name.getAllMediaClips({
index:0
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
播放媒体片段
mediaPlay(callback(ret))
ret:
{
status:, //成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.mediaPlay(function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
停止播放媒体片段
mediaStop(callback(ret))
ret:
{
status:, //成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.mediaStop(function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
暂停播放媒体片段
mediaPause(callback(ret))
ret:
{
status:, //成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.mediaPause(function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
继续播放媒体片段
mediaResume(callback(ret))
ret:
{
status:, //成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.mediaResume(function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
媒体片段是否正在播放
mediaIsPlaying(callback(ret))
ret:
{
status:, //播放还是未播放
}
var name = api.require('aliShortVideoAPI');
name.mediaIsPlaying(function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
seek到某一时间点
mediaSeekTo({params}, callback(ret))
seekTo
ret:
{
status:, //成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.mediaSeekTo({
index:0
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取总时长(秒)
getMediaDuration(callback(ret))
ret:
{
duration:12, //总时长
}
var name = api.require('aliShortVideoAPI');
name.getMediaDuration(function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取当前播放(秒)
getMediaCurrentTime(callback(ret))
ret:
{
currentTime:12, //前播放时间(秒)
}
var name = api.require('aliShortVideoAPI');
name.getMediaCurrentTime(function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取原始视频流播放时间(秒)
getCurrentStreamTime(callback(ret))
ret:
{
streamTime:12, //原始视频流播放时间(秒)
}
var name = api.require('aliShortVideoAPI');
name.getCurrentStreamTime(function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取视频片段在播放时间轴上开始播放的时间(秒)
getClipStartTimeAtIndex({params}, callback(ret))
index
ret:
{
startTime:0, //数字类型;视频片段在播放时间轴上开始播放的时间
}
var name = api.require('aliShortVideoAPI');
name.getClipStartTimeAtIndex({
index:0
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置播放器的刷新频率(仅iOS支持)
setMediaRefreshFps({params}, callback(ret))
fps
ret:
{
startTime:0, //数字类型;视频片段在播放时间轴上开始播放的时间
}
var name = api.require('aliShortVideoAPI');
name.setMediaRefreshFps({
index:0
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统
可提供的1.0.0及更高版本
设置时间特效
setApplyTimeFilter({params}, callback(ret))
startTime
endTime
type
needOriginDuration:
repeatTime:
param
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.setApplyTimeFilter({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置音乐
setMediaMusic({params}, callback(ret))
path
startTime
duration
streamStartTime
streamDuration
audioMixWeight
musicType
id
ret:
{
status:, //布尔类型;成功还是失败
count:, //数字类型;添加的音乐资源个数(仅iOS支持)
streamIdArray: //数组类型:streamID数组(仅iOS支持)
}
var name = api.require('aliShortVideoAPI');
name.setMediaMusic({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
删除某个音乐
removeMusic({params}, callback(ret))
index
id
musicType
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.removeMusic({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
删除所有音乐(仅iOS支持)
removeAllMusic(callback(ret))
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.removeAllMusic({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统
可提供的1.0.0及更高版本
设置单路流音效
setAudioEffect({params}, callback(ret))
streamId
weight
effectType
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.setAudioEffect({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
删除单路流音效
removeAudioEffect({params}, callback(ret))
streamId
effectType
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.removeAudioEffect({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置主流音效(仅iOS支持)
setMainStreamsAudioEffect({params}, callback(ret))
weight
effectType
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.setMainStreamsAudioEffect({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统
可提供的1.0.0及更高版本
去除主流音效(仅iOS支持)
removeMainStreamsAudioEffect({params}, callback(ret))
effectType
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.removeMainStreamsAudioEffect({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统
可提供的1.0.0及更高版本
设置静音(仅iOS支持)
setMute({params}, callback(ret))
isMute
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.setMute({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统
可提供的1.0.0及更高版本
设置音量
setVolume({params}, callback(ret))
volume
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.setVolume({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置主流音频大小(仅iOS支持)
setMainStreamsAudioWeight({params}, callback(ret))
weight
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.setMainStreamsAudioWeight({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统
可提供的1.0.0及更高版本
设置主流音频大小
setAudioWeight({params}, callback(ret))
streamId
weight
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.setAudioWeight({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置主流去噪(仅iOS支持)
setMainStreamsAudioDenoise({params}, callback(ret))
isDenoise
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.setMainStreamsAudioDenoise({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统
可提供的1.0.0及更高版本
设置任意音频流去噪
setAudioDenoise({params}, callback(ret))
streamId
isDenoise
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.setAudioDenoise({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置涂鸦
setGraffiti({params}, callback(ret))
lineColor
lineWidth
shadowColor
shadowWidth
enableCrossBorder
width:
height:
ret:
{
status:, //布尔类型;成功还是失败
endPoint:{ //终点坐标 (仅iOS支持)
x:,
y:
},
startPoint:{ //起始点坐标
x:,
y:
},
}
var name = api.require('aliShortVideoAPI');
name.setGraffiti({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
替换涂鸦
changePaint({params}, callback(ret))
lineColor
lineWidth
shadowColor
shadowWidth
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.changePaint({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
清空所有线条
removePaint(callback(ret))
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.removePaint({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
撤销上一步
undoPaint(callback(ret))
ret:
{
status:, //布尔类型;成功还是失败 (仅iOS回调)
}
var name = api.require('aliShortVideoAPI');
name.undoPaint({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
恢复上一步(仅iOS支持)
redoPaint(callback(ret))
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.redoPaint({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统
可提供的1.0.0及更高版本
撤销本次涂鸦所有的操作
undoAllChanges(callback(ret))
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.undoAllChanges({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取涂鸦完成后的图片(仅iOS支持)
completePaint(callback(ret))
ret:
{
status:, //布尔类型;成功还是失败
imagePath:'' //涂鸦图片路径;在status为true时返回此参数
}
var name = api.require('aliShortVideoAPI');
name.completePaint({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统
可提供的1.0.0及更高版本
确认所有操作(仅android支持)
confirm(callback(ret))
var aliShortVideoAPI = api.require('aliShortVideoAPI');
aliShortVideoAPI.confirm({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
设置涂鸦渲染到视频 (仅android支持)
applyPaintCanvas(callback(ret))
ret
{
status:, //布尔类型,是否成功
}
err
{
msg:'', //字符串类型 错误信息
}
var aliShortVideoAPI = api.require('aliShortVideoAPI');
aliShortVideoAPI.applyPaintCanvas({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
移除渲染到视频上的涂鸦 (仅android支持)
removeCanvas(callback(ret))
var aliShortVideoAPI = api.require('aliShortVideoAPI');
aliShortVideoAPI.removeCanvas({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
释放涂鸦资源 (仅android支持)
releaseCanvas(callback(ret))
var aliShortVideoAPI = api.require('aliShortVideoAPI');
aliShortVideoAPI.releaseCanvas({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
设置水印
setWaterMark({params}, callback(ret))
rect:
{
x: 0, //(可选项)数字类型;左上角的 x 坐标(相对于编辑区域);默认:0
y: 0, //(可选项)数字类型;左上角的 y 坐标(相对于编辑区域);默认:0
w: 100, //(可选项)数字类型;宽度;默认:100
h: 100 //(可选项)数字类型;高度;默认:100
}
outPutSize:
{
w: 100, //(可选项)数字类型;插件的宽度;默认:720
h: 100 //(可选项)数字类型;插件的高度;默认:1280
}
path
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.setWaterMark({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置片尾水印
setTailWaterMark({params}, callback(ret))
rect:
{
x: 0, //(可选项)数字类型;左上角的 x 坐标(相对于编辑区域);默认:0
y: 0, //(可选项)数字类型;左上角的 y 坐标(相对于编辑区域);默认:0
w: 100, //(可选项)数字类型;宽度;默认:100
h: 100 //(可选项)数字类型;高度;默认:100
}
outPutSize:
{
w: 100, //(可选项)数字类型;插件的宽度;默认:720
h: 100 //(可选项)数字类型;插件的高度;默认:1280
}
endTime
path
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.setTailWaterMark({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置转场
applyTransition({params}, callback(ret))
duration
overlapDuration
type
index
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.applyTransition({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
删除某个转场效果(仅iOS支持)
removeTransitionAtIndex({params}, callback(ret))
index
ret:
{
status:, //布尔类型;成功还是失败
}
var name = api.require('aliShortVideoAPI');
name.removeTransitionAtIndex({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
合成输出(仅Android支持)
compose({params}, callback(ret))
outPath:
videoSize:
{
w: 100, //(可选项)数字类型;插件的宽度;默认:720
h: 100 //(可选项)数字类型;插件的高度;默认:1280
}
gop
videoQuality
codeType
mode
fps
frameRate:
ret:
{
status:, //布尔类型;是否正常返回
eventType:'', //字符串类型;
‘completed’:完成回调
‘progress’:进度回调
‘error’:错误回调
progress:, //数字类型,eventType为‘progress’时返回
errorCode:, //数字类型;错误码 eventType为‘error’时返回
}
err:
{
msg:'', //字符串类型;错误信息
}
var name = api.require('aliShortVideoAPI');
name.compose({
outPath:'',
frameRate:,
fps:,
mode:,
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
取消合成(仅Android支持)
cancelCompose({params}, callback(ret))
ret:
{
status:, //布尔类型;是否成功
}
err:
{
msg:'', //字符串类型;错误信息
}
var aliShortVideoAPI = api.require('aliShortVideoAPI');
aliShortVideoAPI.cancelCompose({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
退出编辑(仅Android支持)
exitEdit({params}, callback(ret))
var aliShortVideoAPI = api.require('aliShortVideoAPI');
aliShortVideoAPI.exitEdit({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
初始化视频合拍 (仅android支持)
openMixRecord({params}, callback(ret))
preViewRect:
{
x: 0, //(可选项)数字类型;插件左上角的 x 坐标;默认:0
y: 0, //(可选项)数字类型;插件左上角的 y 坐标;默认:0
w: 100, //(可选项)数字类型;插件的宽度;默认:100
h: 100 //(可选项)数字类型;插件的高度;默认:100
}
playViewRect:
{
x: 0, //(可选项)数字类型;插件左上角的 x 坐标;默认:100
y: 0, //(可选项)数字类型;插件左上角的 y 坐标;默认:0
w: 100, //(可选项)数字类型;插件的宽度;默认:100
h: 100 //(可选项)数字类型;插件的高度;默认:100
}
outPutInfo
{
encodeMode:, //(可选项)数字类型;编码格式
0:软编:提升质量、牺牲速度
1:硬编:提升速度、牺牲视频质量,默认值
2:FFmpeg软编码
crf:, //(可选项)数字类型;编码质量因子;默认值23
videoWidth:, //(可选项)数字类型;视频宽度;默认值:720
videoHeight:, //(可选项)数字类型;视频高度;默认值:1280
fps:, //(可选项)数字类型;录制采集帧率 ;默认值:30
encoderFps:, //(可选项)数字类型;编码帧率;默认值:30
}
inPutInfo
{
filePath:'', //字符串类型;
startTime:, //数字类型;开始时间
endTime:, //数字类型;结束时间
mixDisplayParam:{ //JSON对象类型;合拍样本视频窗口显示布局参数
cropMode:, //(可选项)数字类型;剪裁模式
0:填充,默认值
1:剪裁
level:, //(可选项)数字类型;布局等级,高层级的渲染画面会覆盖低层级的渲染画面
centerX:, //小数类型,轨道中心点x比例坐标
centerY:, //小数类型,轨道中心点y比例坐标
widthRatio:, //小数类型,轨道宽度占比
heightRatio:, //小数类型,轨道高度占比
},
recordDisplayParam:{ //JSON对象类型;合拍摄像头采集窗口的显示布局参数
cropMode:, //(可选项)数字类型;剪裁模式
0:填充
1:剪裁
level:, //(可选项)数字类型;布局等级,高层级的渲染画面会覆盖低层级的渲染画面
centerX:, //小数类型,轨道中心点x比例坐标
centerY:, //小数类型,轨道中心点y比例坐标
widthRatio:, //小数类型,轨道宽度占比
heightRatio:, //小数类型,轨道高度占比
}
}
minDuration:
maxDuration:
gop
videoQuality
beautifyStatus:
beautifyValue
cameraType
rate
outPutPath
fixedOn:
fixed:
var name = api.require('aliShortVideoAPI');
name.openMixRecord({
preViewRect:{
x:,
y:,
w:,
h:,
},
playViewRect:{
x:,
y:,
w:,
h:,
},
outPutInfo:{
encodeMode:,
crf:,
videoWidth:,
videoHeight:,
fps:,
encoderFps:,
},
inPutInfo:{
filePath:'',
startTime:,
endTime:,
mixDisplayParam:{
cropMode:,
level:,
centerX:,
centerY:,
widthRatio:,
heightRatio:,
},
recordDisplayParam:{
cropMode:,
level:,
centerX:,
centerY:,
widthRatio:,
heightRatio:,
}
},
minDuration:,
maxDuration:,
outPutPath:'',
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
设置合拍监听(仅android支持)
setMixRecordCallback({params}, callback(ret))
ret
{
status:, //布尔类型,是否正常返回
eventType:'', //字符串类型;
‘complete’:片段结束
‘finish’:合成结束
‘progress’:进度
‘onMaxDuration’:到达最大时长
‘error’:发生错误
validClip:, //布尔类型;eventType 为‘complete’时返回
clipDuration:, //数字类型;eventType 为‘complete’时返回
outputPath:'', //字符串类型;eventType 为‘finish’时返回
progress:, //数字类型;eventType 为‘progress’时返回
errorCode:'', //数字类型;eventType 为‘error’时返回
}
err
{
msg:'', //字符串类型;错误信息
}
var name = api.require('aliShortVideoAPI');
name.setMixRecordCallback({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
开启合拍预览(仅android支持)
startMixRecordPreview({params}, callback(ret))
ret
{
status:, //布尔类型,是否成功
}
err
{
msg:'', //字符串类型;错误信息
}
var name = api.require('aliShortVideoAPI');
name.startMixRecordPreview({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
停止合拍预览(仅android支持)
stopMixRecordPreview({params}, callback(ret))
var name = api.require('aliShortVideoAPI');
name.stopMixRecordPreview({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
开始合拍录制 (仅android支持)
startMixRecordRecording({params}, callback(ret))
ret
{
status:, //布尔类型,是否成功
}
err
{
msg:'', //字符串类型;错误信息
}
var name = api.require('aliShortVideoAPI');
name.startMixRecordRecording({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
停止合拍录制 (仅android支持)
stopMixRecordRecording({params}, callback(ret))
ret
{
status:, //布尔类型,是否成功
}
err
{
msg:'', //字符串类型;错误信息
}
var name = api.require('aliShortVideoAPI');
name.stopMixRecordRecording({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
结束合拍录制合成视频 (仅android支持)
finishMixRecord({params}, callback(ret))
ret
{
status:, //布尔类型,是否成功
}
err
{
msg:'', //字符串类型;错误信息
}
var name = api.require('aliShortVideoAPI');
name.finishMixRecord({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
取消合拍合成视频 (仅android支持)
cancleMixRecordFinish({params}, callback(ret))
ret
{
status:, //布尔类型,是否成功
}
err
{
msg:'', //字符串类型;错误信息
}
var name = api.require('aliShortVideoAPI');
name.cancleMixRecordFinish({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本
关闭视频合拍 (仅android支持)
closeMixRecord({params}, callback(ret))
var name = api.require('aliShortVideoAPI');
name.closeMixRecord({
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
Android系统
可提供的1.0.0及更高版本