txLiteAV
概述
短视频
近年来,短视频行业发展极为迅速,凭借其创意玩法以及新鲜的视频内容成为继直播之后的新风口。为了满足开发者快速创建短视频应用的需求,腾讯云点播推出了短视频一站式解决方案,覆盖了视频生成、上传、处理、分发和播放在内的各个环节,帮助用户以最快速度实现短视频应用的上线。
短视频(UserGeneratedShortVideo)服务:基于快速上传、转码、存储等强大云端能力,集成采集、剪接、特效、分享、播放等客户端组件,再整合腾讯的 IM、社交、用户画像等数据,令开发者可以聚焦于业务本身,轻松制作出基于移动端的短视频内容业务。详情参考 关于短视频
腾讯云短视频 SDK,可配合腾讯云点播服务使用,您需要开通腾讯云点播服务,并购买点播加速资源包精简版、旗舰版-2或旗舰版-3,获得短视频 SDK License为期一年的使用权限。具体信息请查看 腾讯云点播简介,以及 云点播购买流程。
txLiteAV 模块概述
本模块封装了腾讯短视频SDK中的录制、编辑、美颜、特效等功能。使用模块之前请先 申请License。注意该模块只封装了精简版和基础版的 SDK。若长期使用该模块的话,请申请 Licence 为精简版和基础版的。因为不同版本 SDK 需要搭配不同版本的 License 才能使用。
模块使用注意事项:
1.免费申请的 license 有一定的有效期。
2.当您的测试 License 过期了,您需要进入 点播控制台 点击购买正式 License。
3.如需支持后台播放功能请参考 config.xml 配置说明文档里关于 BackgroundMode 的配置
配置实例如下:
<preference name="backgroundMode" value="audio"/>
模块接口
setLicence
设置授权
setLicence({params})
params
licenceURL:
- 类型:字符串
- 描述:(必填项)从腾讯云平台获取的LicenseUrl。参考腾讯官方申请说明
licenceKey:
- 类型:字符串
- 描述:(必填项)从腾讯云平台获取的Key。参考腾讯官方申请说明
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setLicence({
licenceURL : '',
licenceKey : ''
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
startCameraPreview
开始画面预览
startCameraPreview({params},callback(ret))
params
rect:
- 类型:JSON对象
- 描述:(可选项)预览画面的位置及长宽
{
x: 0, //(可选项)数字类型;播放器 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(可选项)数字类型;播放器 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(可选项)数字类型;播放器(相对于所属的 Window 或 Frame);iOS支持'auto';默认值:屏幕宽度
h: 300, //(可选项)数字类型;播放器(相对于所属的 Window 或 Frame);iOS支持'auto';默认值:屏幕高度
}
videoResolution:
- 类型:数字类型
- 描述:(可选项)录制分辨率类型定义,如果设备不支持当前分辨率录制,SDK会默认采取低一级别的分辨率录制
- 默认:3
取值范围:
0 : 360P 分辨率
1 : 540P 分辨率
2 : 720P 分辨率
3 : 1080P 分辨率
videoFPS:
- 类型:数字类型
- 描述:(可选项)自定义fps 15~30
- 默认:30
videoBitratePIN:
- 类型:数字类型
- 描述:(可选项)自定义码率,建议值:600~12000 (SDK上限不再做限制) ,单位kbps/s,这里需要注意的是,这里设置的码率只是给编码器一个参考值,实际出来视频的码率是会在这个参考值上下波动的
- 默认:1000
frontCamera:
- 类型:布尔类型
- 描述:(可选项)是否是前置摄像头
- 默认:true
encodeMode:
- 类型:数字类型
- 描述:(可选项)编码方式 (默认VBR编码方式,相同码率下能获得更好的画面质量)(仅iOS支持)
- 默认:1
取值范围:
0 : CBR 编码方式
1 : VBR 编码方式
enableBFrame:
- 类型:布尔类型
- 描述:(可选项)是否开启B帧 (默认开启,相同码率下能获得更好的画面质量)(仅iOS支持)
- 默认:true
enableAEC:
- 类型:布尔类型
- 描述:(可选项)是否开启回声消除(默认开启),开启回声消除,可以录制人声,BGM,人声+BGM (注意:录制中开启回声消除,BGM的播放模式是手机通话模式,这个模式下系统静音会失效,而视频播放预览走的是媒体播放模式,播放模式的不同会导致录制和预览在相同系统音量下播放声音大小有一定区别),关闭回声消除,可以录制人声、BGM,耳机模式下可以录制人声 + BGM ,外放模式下不能录制人声+BGM
- 默认:true
GOP:
- 类型:数字类型
- 描述:(可选项)关键帧间隔(1 ~10),单位秒
- 默认:3
audioSampleRate:
- 类型:数字类型
- 描述:(可选项)音频采样率
- 默认:2
取值范围:
0 : 8000
1 : 16000
2 : 32000
3 : 44100
4 : 48000
minDuration:
- 类型:数字类型
- 描述:(可选项)设置视频录制的最小时长,大于0,单位秒
- 默认:3
maxDuration:
- 类型:数字类型
- 描述:(可选项)设置视频录制的最大时长,建议不超过300,单位秒
- 默认:60
touchFocus:
- 类型:布尔类型
- 描述:(可选项)是否触摸聚焦(仅android支持)
- 默认:true
fixedOn:
- 类型:字符串
- 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 Window 或 Frame 滚动
- 默认值:true(不随之滚动)
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: 0, //数字类型,开始预览结果,0 成功, -1 摄像头尚未关闭 请先调用stopCameraPreview关闭, -2 编码器初始化失败
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.startCameraPreview({
frontCamera : true
},function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
showPreviewView
显示预览视图
showPreviewView()
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.showPreviewView();
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
hidePreviewView
隐藏预览视图
hidePreviewView()
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.hidePreviewView();
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
stopCameraPreview
结束画面预览
stopCameraPreview()
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.stopCameraPreview();
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
startRecord
开始录制
startRecord({params},callback(ret))
params
videoPath:
- 类型:字符类型
- 描述:视频文件输出路径,支持fs、widget (android不支持widget路径)
- 示例:'fs://video/startRecord.mp4'
coverPath:
- 类型:字符类型
- 描述:封面文件输出路径,支持fs、widget(android不支持widget路径)
videoPartsFolder:
- 类型:字符类型
- 描述:分片视频存储目录路径,支持fs、widget(android不支持widget路径)
- 示例:'fs://videos'
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: 0, //数字类型,开始录制结果,
//0 | 成功
//-1 | 正在录制短视频
//-2 | videoRecorder初始化失败
//-3 | 摄像头没有打开
//-4 | 麦克风没有打开
//-5 | licence 验证失败,您可以通过 getLicenceInfo 接口查询licence信息,
//-6 | videoPath 为空
//-7 | coverPath 为空
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.startRecord({
videoPath:'',
coverPath:'',
videoPartsFolder:''
},function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
pauseRecord
暂停录制
pauseRecord(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: 0, //数字类型,暂停录制结果;0 成功, -1 不存在录制任务, -2 videoRecorder未初始化
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.pauseRecord(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
resumeRecord
恢复录制
resumeRecord(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: 0, //数字类型,恢复录制结果;0 成功, -1 不存在录制任务, -2 videoRecorder未初始化
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.resumeRecord(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
stopRecord
结束录制
stopRecord(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: 0, //数字类型,结束录制结果;0 成功, -1 不存在录制任务, -2 videoRecorder未初始化
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.stopRecord(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setVideoResolution
切换视频录制分辨率,startCamera 之后调用有效,注意:需要在startRecord 之前设置,录制过程中设置无效
setVideoResolution({params})
params
videoResolution:
- 类型:数字类型
- 描述:(可选项)视频录制分辨率
- 默认:2
取值范围:
0 : 360P 分辨率
1 : 540P 分辨率
2 : 720P 分辨率
3 : 1080P 分辨率
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setVideoResolution({
resolution : 0,
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setVideoBitrate
切换视频录制码率,注意:需要在startRecord 之前设置,录制过程中设置无效
setVideoBitrate({params})
params
videoBitratePIN:
- 类型:数字类型
- 描述:(可选项)自定义码率,建议值:600~12000 (SDK上限不再做限制) ,单位kbps/s,这里需要注意的是,这里设置的码率只是给编码器一个参考值,实际出来视频的码率是会在这个参考值上下波动的
- 默认:1000
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setVideoBitrate({
videoBitratePIN : 1000,
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
getMaxZoom
获取最大焦距(仅android支持)
getMaxZoom({params})
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
maxZoom: , //数字类型,最大焦距
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.getMaxZoom(function(err,ret){
alert(JSON.stringify(ret));
});
可用性
Android 系统
可提供的 1.0.0 及更高版本
setZoom
调整焦距,startCamera 之后调用有效,取值范围 1~5 ,当为1的时候为最远视角(正常镜头),当为5的时候为最近视角(放大镜头),这里最大值推荐为5,超过5后视频数据会变得模糊不清;android取值范围为 0-getMaxZoom()接口返回值
setZoom({params})
params
zoom:
- 类型:数字类型
- 描述:(可选项)焦距,当为1的时候为最远视角(正常镜头),当为5的时候为最近视角(放大镜头)
- 默认:3
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setZoom({
zoom : 3,
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
switchCamera
切换前后摄像头,startCamera 之后调用有效
switchCamera({params},callback(ret))
params
isFront:
- 类型:布尔
- 描述:(可选项)true 切换到前置摄像头, false 切换到后置摄像头
- 默认:false
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型,切换结果
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.switchCamera({
isFront : false,
},function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
toggleTorch
打开/关闭闪光灯,startCamera 之后调用有效
toggleTorch({params},callback(ret))
params
isOpen:
- 类型:布尔
- 描述:(可选项)是否打开闪光灯,true 打开,false 关闭
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型,切换结果
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.toggleTorch({
isOpen : true,
},function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setHomeOrientation
设置横竖屏录制,设置后可能会改变视频预览的方向,请调用setRenderRotation 来修本地视预览频流方向, 需要在startRecord 之前设置,录制过程中设置无效
setHomeOrientation({params})
params
orientation:
- 类型:数字类型
- 描述:(可选项)横竖屏录制方向
- 默认:1
取值范围:
0 : home在右边横屏录制
1 : home在下面竖屏录制
2 : home在左边横屏录制
3 : home在上面竖屏录制
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setHomeOrientation({
orientation : 1
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setRenderRotation
设置预览视频方向
setRenderRotation({params})
params
renderRotation:
- 类型:数字类型
- 描述:(可选项)预览视频方向,取值为 0 , 90, 180, 270(其他值无效)
- 默认:0
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setRenderRotation({
renderRotation : 0
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setAspectRatio
设置视频录制比例,需要在startRecord 之前设置,录制过程中设置无效
setAspectRatio({params})
params
videoRatio:
- 类型:数字类型
- 描述:(可选项)横竖屏录制方向
- 默认:1
取值范围:
0 : 3:4
1 : 9:16
2 : 1:1
3 : 16:9
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setAspectRatio({
videoRatio : 0
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setRecordSpeed
设置录制速率 [精简版不支持]
setRecordSpeed({params})
params
speed:
- 类型:数字类型
- 描述:(可选项)录制速率
- 默认:1
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setRecordSpeed({
speed : 1
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setMute
置是否静音录制
setMute({params})
params
isMute:
- 类型:布尔类型
- 描述:(可选项)是否静音录制
- 默认:true
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setMute({
isMute : true
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setMicVolume
设置麦克风的音量大小,播放背景音乐混音时使用,用来控制麦克风音量大小 [精简版不支持],注意:这个接口目前在playBGM之后才生效
setMicVolume({params},callback(ret))
params
volume:
- 类型:数字类型
- 描述:(可选项)音量大小,1为正常音量,建议值为0~2,如果需要调大音量可以设置更大的值
- 默认:1
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型,设置麦克风音量结果
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setMicVolume({
volume : 1
},function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
snapshot
截图/拍照,startCamera 之后调用有效 [精简版不支持]
snapshot(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: 0, //数字类型,接口调用结果,注意,这个返回值为接口调用结果,不与imagePath一起返回(仅iOS支持)
imagePath:'' //字符串路径,图片储存路径
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.snapshot(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setWaterMark
设置全局水印 [精简版不支持]
setWaterMark({params})
params
image:
- 类型:字符串类型
- 描述: 全局水印图片路径,支持fs、widget
rect:
- 类型:JSON对象
- 描述:(可选项)水印相对于视频图像的归一化frame,x,y,width,height 取值范围 0~1;height不用设置,sdk内部会根据水印宽高比自动计算height;比如视频图像大小为(540,960) frame设置为(0.1,0.1,0.1,0),水印的实际像素坐标为(540 0.1,960 0.1,540 0.1 ,540 0.1 * waterMark.size.height / waterMark.size.width)
{
x: 0.1, //(可选项)数字类型;播放器 x 坐标(相对于所属的 Window 或 Frame);默认值:0.1
y: 0.1, //(可选项)数字类型;播放器 y 坐标(相对于所属的 Window 或 Frame);默认值:0.1
w: 0.1, //(可选项)数字类型;播放器(相对于所属的 Window 或 Frame);默认值:0.1
h: 0, //(可选项)数字类型;播放器(相对于所属的 Window 或 Frame);支持'auto';默认值:0
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setWaterMark({
image :'',
rect:{
x: 0.1,
y: 0.1,
w: 0.1,
h: 0,
}
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setFilter
设置指定素材滤镜特效
setFilter({params})
params
image:
- 类型:字符串类型
- 描述: 指定素材,即颜色查找表图片路径。注意:一定要用png格式;支持fs、widget
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setFilter({
image :''
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setSpecialRatio
设置滤镜效果程度
setSpecialRatio({params})
params
specialRatio:
- 类型:数字类型
- 描述: (可选项)滤镜效果程度,从0到1,越大滤镜效果越明显
- 默认:0.5
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setSpecialRatio({
specialRatio :0.5
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setCombinationFilter
设置两个滤镜效果 [精简版不支持]
setCombinationFilter({params})
params
leftFilter:
- 类型:字符串类型
- 描述: 左滤镜图片路径,支持fs、widget
leftIntensity:
- 类型:数字类型
- 描述: 左滤镜浓度
rightFilter:
- 类型:字符串类型
- 描述: 右滤镜图片路径,支持fs、widget
rightIntensity:
- 类型:数字类型
- 描述: 右滤镜浓度
leftRatio:
- 类型:数字类型
- 描述: 左滤镜所占比例
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setCombinationFilter({
leftFilter :,
leftIntensity :,
rightFilter :,
rightIntensity :,
leftRatio :,
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setBeauty
设置美颜 和 美白 效果级别
setBeauty({params})
params
beautyStyle:
- 类型:数字类型
- 描述:(可选项)美颜风格
- 默认:0
取值范围:
0 : 光滑
1 : 自然
2 : pitu美颜
beautyLevel:
- 类型:数字类型
- 描述: 美颜级别取值范围 0 ~ 9; 0 表示关闭 1 ~ 9值越大 效果越明显
- 默认:5
whitenessLevel:
- 类型:数字类型
- 描述: 美白级别取值范围 0 ~ 9; 0 表示关闭 1 ~ 9值越大 效果越明显
- 默认:5
ruddinessLevel:
- 类型:数字类型
- 描述:红润级别取值范围 0 ~ 9; 0 表示关闭 1 ~ 9值越大 效果越明显
- 默认:5
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setBeauty({
beautyStyle : 1
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
addRecordListener
添加录制监听
addRecordListener(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
milliSecond: 6, //数字类型,以毫秒为单位的播放的时间,此返回值不会和retCode、descMsg、videoPath、coverImagePath同时返回
retCode:0, //数字类型,录制结果
//取值如下:
//0:录制成功(业务层主动结束录制),会生成最终视频
//1:录制成功(因为进后台,或则闹钟,电话打断等自动结束录制),会生成最终视频
//2:录制成功(录制时长未达到设置的最小时长),会生成最终视频
//3:录制成功(录制时长超过设置的最大时长),会生成最终视频
//1001:录制失败,不会生成最终视频
descMsg:'', //字符串类型;错误描述信息
videoPath:'', //字符串类型;视频文件path
coverImagePath:'' //字符串类型;视频封面图片路径
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.addRecordListener(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setBGM
设置背景音乐文件 [精简版不支持]
setBGM({params},callback(ret))
params
path:
- 类型:字符串类型
- 描述:音乐文件路径,iOS一定要是app对应的document目录下面的路径,否则文件会读取失败; android 支持原生路径、fs路径
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
length:6 //数字路径, 音乐时长 s (返回值为0,表示BGM格式不支持或则音频解析失败)
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setBGM({
path : ''
},function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
playBGM
播放背景音乐 [精简版不支持],必须在startCamera之后调用
playBGM({params},callback(ret))
params
startTime:
- 类型:数字类型
- 描述:(可选项)音乐播放起始时间
- 默认:0
endTime:
- 类型:数字类型
- 描述:(可选项)音乐播放结束时间
- 默认:6
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型;是否播放成功(仅android支持)
state:'', //字符类型;播放状态(仅iOS支持)
//取值如下:
//begin:音乐播放开始
//underway:音乐播放中
//end:音乐播放结束
errCode:0, //数字类型;错误码;state = begin、end时返回
progress:0, //数字类型;播放了多少,单位毫秒;state = underway时返回
duration:0, //数字类型;总时长,,单位毫秒单位毫秒;state = underway时返回
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.playBGM({
startTime : 0,
endTime:6
},function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
pauseBGM
暂停播放背景音乐 [精简版不支持]
pauseBGM(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型,暂停播放背景音乐结果
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.pauseBGM(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
resumeBGM
继续播放背景音乐 [精简版不支持]
resumeBGM(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型,继续播放背景音乐结果
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.resumeBGM(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
stopBGM
停止播放背景音乐 [精简版不支持]
stopBGM(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型,停止播放背景音乐结果
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.stopBGM(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setBGMVolume
设置背景音乐的音量大小,播放背景音乐混音时使用,用来控制背景音音量大小 [精简版不支持],这个接口目前在playBGM之后才生效
setBGMVolume({params},callback(ret))
params
volume:
- 类型:数字类型
- 描述:(可选项)音量大小,1为正常音量,建议值为0~2,如果需要调大背景音量可以设置更大的值
- 默认:1
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型,设置背景音乐结果
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setBGMVolume({
volume : 1
},function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
getDuration
获取当前录制视频片段的总时长 单位:s
getDuration(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
duration:6 //数字类型, 当前录制视频片段的总时长 单位:s
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.getDuration(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
getVideoPathList
获取当前录制所有视频片段路径
getVideoPathList(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
videoPaths:[''] //字符串数组, 当前录制所有视频片段路径数组
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.getVideoPathList(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
deleteLastPart
删除当前录制视频最后一片段,默认删除本地视频文件
deleteLastPart()
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.deleteLastPart();
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
deletePart
删除当前录制视频指定片段,默认删除本地视频文件
deletePart({params})
params
index:
- 类型:数字类型
- 描述:(可选项)删除录制视频的位置
- 默认:0
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.deletePart({
index : 0
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
deleteAllParts
删除当前录制视频所有片段,默认删除本地视频文件
deleteAllParts()
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.deleteAllParts();
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
insertPart
您可以添加当前录制视频之外的视频,调用合joinAllParts的时候,SDK会把所有的视频合成(这里添加的视频需要和录制视频的分辨率保持一致,否则会合成失败)
insertPart({params})
params
videoPath:
- 类型:字符串类型
- 描述:添加视频的文件路径
index:
- 类型:数字类型
- 描述:(可选项)添加视频的所在整个视频list的位置
- 默认:0
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.insertPart({
videoPath : '',
volume : 0
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
joinAllParts
合成所有片段,iOS合成所有当前录制视频,android合成insertPart接口添加的片段视频(这里需要保证视频片段的分辨率一致,否则会合成失败)
joinAllParts({params}),callback(ret))
params
videoOutputPath:
- 类型:字符串类型
- 描述:合成后视频文件存放地址;支持原生路径和fs路径
- 示例:'fs://join.mp4'
videoResolution:
- 类型:数字类型
- 描述:合成类型视频分辨率(仅android支持)
- 取值范围: 0 /360P 分辨率、1/480P 分辨率、2/540P 分辨率,3 : 720P 分辨率
- 默认:1
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: 0, //数字类型,0:成功 -1:失败
progress:, //小数类型;合成进度,与result不一起返回(仅android有效)
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.joinAllParts({
videoOutputPath:''
},function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setReverbType
设置混响效果 [精简版不支持]
setReverbType({params})
params
reverbType:
- 类型:数字类型
- 描述:(可选项)变声类型
- 默认:0
取值范围:
0 : 关闭混响
1 : KTV
2 : 小房间
3 : 大会堂
4 : 低沉
5 : 洪亮
6 : 金属声
7 : 磁性
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setReverbType({
reverbType : 0
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setVoiceChangerType
变声 [精简版不支持]
setVoiceChangerType({params})
params
voiceChangerType:
- 类型:数字类型
- 描述:(可选项)设置变声类型 [精简版不支持]
- 默认:0
取值范围:
0 : 关闭变声
1 : 熊孩子
2 : 萝莉
3 : 大叔
4 : 重金属
5 : 感冒
6 : 外国人
7 : 困兽
8 : 死肥仔
9 : 强电流
10 : 重机械
11 : 空灵
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setVoiceChangerType({
voiceChangerType : 0
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
startEditerPreview
打开编辑预览页面
startEditerPreview({params},callback(ret))
params
rect:
- 类型:JSON对象
- 描述:(可选项)预览画面的位置及长宽
{
x: 0, //(可选项)数字类型;编辑页面 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(可选项)数字类型;编辑页面 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(可选项)数字类型;编辑页面宽(相对于所属的 Window 或 Frame);iOS支持'auto';默认值:屏幕宽度
h: 300, //(可选项)数字类型;编辑页面高(相对于所属的 Window 或 Frame);iOS支持'auto';默认值:屏幕高度
}
videoPath:
- 类型:字符串类型
- 描述:视频路径,支持fs、widget(android不支持widget)
renderMode:
- 类型:数字类型
- 描述:(可选项)填充模式
- 默认:1
取值范围:
0 : 填充模式,尽可能充满屏幕不留黑边,所以可能会裁剪掉一部分画面
1 : 黑边模式,尽可能保持画面完整,但当宽高比不合适时会有黑边出现
fixedOn:
- 类型:字符串
- 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 Window 或 Frame 滚动
- 默认值:true(不随之滚动)
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.startEditerPreview({
videoPath :''
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
previewAtTime
渲染某一时刻的视频画面(编辑预览页面有效),需要在预加载成功后,且停止播放后有效
previewAtTime({params})
params
time:
- 类型:数字类型
- 描述:(可选项)预览帧时间(s)
- 默认:6
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.previewAtTime({
time : 6
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
startPlayFromTime
播放某一时间段的视频(编辑预览页面有效)
startPlayFromTime({params})
params
startTime:
- 类型:数字类型
- 描述:(可选项)播放起始时间(s)
- 默认:0
endTime:
- 类型:数字类型
- 描述:(可选项)播放结束时间(s)
- 默认:6
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.startPlayFromTime({
startTime : 0,
endTime : 6
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
pausePlay
暂停播放(编辑预览页面有效)
pausePlay()
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.pausePlay();
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
resumePlay
继续播放(编辑预览页面有效)
resumePlay()
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.resumePlay();
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
stopPlay
停止播放(编辑预览页面有效)
stopPlay()
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.stopPlay();
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setEditerWaterMark
设置编辑页面全局水印[精简版不支持](编辑预览页面有效)
setEditerWaterMark({params})
params
image:
- 类型:字符串类型
- 描述: 全局水印图片路径,支持fs、widget
rect:
- 类型:JSON对象
- 描述:(可选项)水印相对于视频图像的归一化frame,x,y,width,height 取值范围 0~1;height不用设置,sdk内部会根据水印宽高比自动计算height;比如视频图像大小为(540,960) frame设置为(0.1,0.1,0.1,0),水印的实际像素坐标为(540 0.1,960 0.1,540 0.1 ,540 0.1 * waterMark.size.height / waterMark.size.width)
{
x: 0.1, //(可选项)数字类型;播放器 x 坐标(相对于所属的 Window 或 Frame);默认值:0.1
y: 0.1, //(可选项)数字类型;播放器 y 坐标(相对于所属的 Window 或 Frame);默认值:0.1
w: 0.1, //(可选项)数字类型;播放器(相对于所属的 Window 或 Frame);默认值:0.1
h: 0, //(可选项)数字类型;播放器(相对于所属的 Window 或 Frame);支持'auto';默认值:0
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setEditerWaterMark({
image :'',
rect:{
x: 0.1,
y: 0.1,
w: 0.1,
h: 0,
}
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setEditerFilter
设置指定素材滤镜特效(编辑预览页面有效)
setEditerFilter({params})
params
image:
- 类型:字符串类型
- 描述: 指定素材,即颜色查找表图片路径。注意:一定要用png格式;支持fs、widget
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setEditerFilter({
image :''
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setTailWaterMark
设置片尾水印 [精简版不支持](编辑预览页面有效)
setTailWaterMark({params})
params
image:
- 类型:字符串类型
- 描述: 全局水印图片路径,支持fs、widget
rect:
- 类型:JSON对象
- 描述:(可选项)水印相对于视频图像的归一化frame,x,y,width,height 取值范围 0~1;height不用设置,sdk内部会根据水印宽高比自动计算height;比如视频图像大小为(540,960) frame设置为(0.1,0.1,0.1,0),水印的实际像素坐标为(540 0.1,960 0.1,540 0.1 ,540 0.1*waterMark.size.height / waterMark.size.width)
{
x: 0.1, //(可选项)数字类型;播放器 x 坐标(相对于所属的 Window 或 Frame);默认值:0.1
y: 0.1, //(可选项)数字类型;播放器 y 坐标(相对于所属的 Window 或 Frame);默认值:0.1
w: 0.1, //(可选项)数字类型;播放器(相对于所属的 Window 或 Frame);默认值:0.1
h: 0, //(可选项)数字类型;播放器(相对于所属的 Window 或 Frame);支持'auto';默认值:0
}
duration:
- 类型:数字类型
- 描述:(可选项)水印的持续时长
- 默认:3
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setTailWaterMark({
image :'',
rect:{
x: 0.1,
y: 0.1,
w: 0.1,
h: 0,
}
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setEditerVideoBitrate
设置视频码率(编辑预览页面有效)
setEditerVideoBitrate({params})
params
bitrate:
- 类型:数字类型
- 描述:(可选项)视频码率 单位:kbps,如果设置了码率,SDK生成视频会优先使用这个码率,注意码率不要太大或则太小,码率太小视频会模糊不清,码率太大,生成视频体积会很大, 这里建议设置范围为:600~12000,如果没有调用这个接口,SDK内部会根据压缩质量自动计算码率
- 默认:1000
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setEditerVideoBitrate({
bitrate : 1000
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
getSampleImages
获取视频缩略图列表
getSampleImages({params},callback(ret))
params
path:
- 类型:字符串类型
- 描述:源视频文件路径,支持fs,widget(仅iOS支持,android截取正在预览视频缩略图)
outPath:
- 类型:字符串类型
- 描述:图片保存路径,路径下不可跟图片名称,支持fs,widget(android不支持widget)
- 示例:fs://
count:
- 类型:数字类型
- 描述:(可选项)获取的采样图数量(均匀采样)
- 默认值:10
width:
- 类型:数字类型
- 描述:(可选项)缩略图的最大宽,生成的缩略图大小不会超出这个宽
- 默认值:100
height:
- 类型:数字类型
- 描述:(可选项)缩略图的最大高,生成的缩略图大小不会超出这个高
- 默认值:100
fast:
- 类型:布尔类型
- 描述:是否精准出图;精准出图:输出的缩略图与视频时间点精准对应,但是在高分辨率上速度慢一些
- 默认:false
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
number: 0, //数字类型,当前采样的是第几张图片
path:'' //字符类型,当前采样图片文件路径
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.getSampleImages({
path : '',
outPath:''
},function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setCut
设置视频剪裁(编辑预览页面有效)
setCut({params})
params
startTime:
- 类型:数字类型
- 描述:(可选项)视频起始时间
- 默认:0
endTime:
- 类型:数字类型
- 描述:(可选项)视频结束时间)
- 默认:6
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setCut({
startTime : 0,
endTime : 6
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
generateVideo
生成视频
generateVideo({params})
params
outPath:
- 类型:字符串类型
- 描述:视频保存路径,支持fs,widget(android不支持widget)
- 示例:fs://video.mp4
videoCompressed:
- 类型:数字类型
- 描述:(可选项)视频压缩质量,注意如果视频的分辨率小于压缩到的目标分辨率,视频不会被压缩,会保留原画
- 默认值:3
取值范围:
0 : 压缩至360P分辨率
1 : 压缩至480P分辨率
2 : 压缩至540P分辨率
3 : 压缩至720P分辨率
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.generateVideo({
outPath : '',
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
addVideoGenerateListener
添加生成视频事件监听
addVideoGenerateListener(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
progress: 0, //数字类型,短视频生成进度,此返回值不会和result同时返回
result:{ //json对象,录制结果,,此返回值不会和progress同时返回
retCode:0 //数字类型;错误码
//取值如下:
//0:生成视频成功
//-1:生成视频失败
//-2:生成视频取消
//-5:licence 验证失败
descMsg:'' //错误描述信息
},
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.addVideoGenerateListener(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setEditerBGM
设置背景音乐 [精简版不支持](编辑预览页面有效)
setEditerBGM({params},callback(ret))
params
path:
- 类型:字符串
- 描述:音乐文件路径,支付fs、widget(android不支持widget)
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: 0, //数字类型,设置背景音乐结果,0:成功, -1:音乐文件格式不支持
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setEditerBGM({
path : ''
},function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setEditerBGMTime
设置背景音乐的起始时间和结束时间 [精简版不支持](编辑预览页面有效)
setEditerBGMTime({params})
params
startTime:
- 类型:数字类型
- 描述:(可选项)音乐起始时间
- 默认:0
endTime:
- 类型:数字类型
- 描述:(可选项)音乐结束时间
- 默认:6
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setEditerBGMTime({
startTime : 0,
endTime : 6
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setEditerBGMLoop
设置背景音乐是否循环播放 [精简版不支持](编辑预览页面有效)
setEditerBGMLoop({params})
params
isLoop:
- 类型:布尔类型
- 描述:(可选项)是否循环播放
- 默认:true
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setEditerBGMLoop({
isLoop : true
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setEditerBGMAtVideoTime
设置背景音乐在视频的添加的起始位置 [精简版不支持](编辑预览页面有效)
setEditerBGMAtVideoTime({params})
params
time:
- 类型:数字类型
- 描述:(可选项)背景音乐在视频的添加的起始时间
- 默认:0
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setEditerBGMAtVideoTime({
time : 6
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setEditerVideoVolume
设置视频声音大小 [精简版不支持](编辑预览页面有效)
setEditerVideoVolume({params})
params
volume:
- 类型:数字类型
- 描述:(可选项)背景音量, 取值范围 0.0 ~ 1.0
- 默认:0.5
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setEditerVideoVolume({
volume : 6
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
setEditerBGMVolume
设置背景音乐声音大小 [精简版不支持](编辑预览页面有效)
setEditerBGMVolume({params})
params
volume:
- 类型:数字类型
- 描述:(可选项)背景音量, 取值范围 0.0 ~ 1.0
- 默认:0.5
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.setEditerBGMVolume({
volume : 6
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
showEditerView
显示编辑视图
showEditerView()
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.showEditerView();
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
hideEditerView
隐藏编辑视图
hideEditerView()
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.hideEditerView();
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
removeEditerView
移除编辑视图
removeEditerView()
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.removeEditerView();
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本
processVideo
全功能预加载
processVideo()
params
thumbnailCount:
- 类型:数字类型
- 描述:生成缩略图个数
- 默认:10
thumbnailWidth:
- 类型:数字类型
- 描述:(可选项)缩略图宽
thumbnailHeight:
- 类型:数字类型
- 描述:(可选项)缩略图高
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
progress: 0, //小数类型,预加载进度;此字段不与code、msg一同返回
code:, //数字类型,处理返回码
msg:'', //字符串类型,详细描述
thumbnail:{
index:, //数字类型;第几张缩略图
time:, //数字类型;缩略图时间 毫秒
bitmap:'', //字符串类型;缩略图 Base64 字符串
}
}
示例代码
var txLiteAV = api.require('txLiteAV');
txLiteAV.processVideo({
thumbnailCount:10,
},function(ret,err){
alert(JSON.stringify(ret));
});
可用性
iOS、Android 系统
可提供的 1.0.0 及更高版本