tencentTRTC
概述
腾讯实时音视频(Tencent Real-Time Communication,TRTC),将腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
注意:
本模块 iOS 平台上最低适配系统版本为 iOS 9.0
不可与 txShortVideo 共同使用,如需同时使用两个模块功能需要在腾讯云申请专业版后联系官方重新封装
接口
enterRoom
进入房间
enterRoom({params}, callback(ret, err))
params
appId:
- 类型:数字类型
- 描述:腾讯云 SDKAppId,进入腾讯云实时音视频控制台 创建应用,即可看到 SDKAppId
userId:
- 类型:字符串类型
- 描述:当前用户的 userId,相当于用户名
roomId:
- 类型:字符串类型
- 描述:房间号码 ,在同一个房间里的用户(userId)可以彼此看到对方并进行视频通话
userSig:
- 类型:字符串类型
- 描述:用户签名 ,当前 userId 对应的验证签名,相当于使用云服务的登录密码,如何计算userSig
privateMapKey:
- 类型:字符串类型
- 描述:(可选项)房间签名 ,当您希望某个房间只能让特定的 userId 进入时,需要使用 privateMapKey 进行权限保护。仅建议有高级别安全需求的客户使用,更多详情请参见 进房权限保护
scene:
- 类型:数字类型
- 描述:(可选项)应用场景
- 可选值:0:视频通话
1:视频直播 2:语音通话 3:语音直播
- 默认值:0
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.enterRoom({
appId:,
userId:''
roomId:'',
userSig:'',
},function(ret, err) {
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setTRTCListener
添加监听
setTRTCListener({params}, callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false;是否成功
action:'', //字符串类型;回调事件
‘error’:错误回调
‘warning’:警告事件
‘enterRoom’:进入房间
‘exitRoom’:退出房间
‘remoteUserEnterRoom’:有用户加入当前房间
‘remoteUserLeaveRoom’:由用户离开当前房间
‘firstVideoFrame’:开始渲染本地或远程用户的首帧画面
'firstAudioFrame':开始播放远程用户的首帧音频(本地声音暂不通知)
'sendFirstLocalVideoFrame':首帧本地视频数据已经被送出
‘sendFirstLocalAudioFrame’:首帧本地音频数据已经被送出
‘connectionLost’:与服务器连接断开
‘tryToReconnect’:尝试重新连接到服务器
‘connectionRecovery’:与服务器连接恢复
‘screenCaptureStarted’:屏幕分享开始
‘screenCapturePaused’:屏幕分享暂停
‘screenCaptureResumed‘:屏幕分享恢复
’screenCaptureStoped‘:屏幕分享停止
'onUserVoiceVolume':提示音量大小的回调,包括每个 userId 的音量和远端总音量,您可以通过调用 TRTCCloud 中的 enableAudioVolumeEvaluation 接口来开关这个回调或者设置它的触发间隔。需要注意的是,调用 enableAudioVolumeEvaluation 开启音量回调后,无论频道内是否有人说话,都会按设置的时间间隔调用这个回调;如果没有人说话,则 userVolumes 为空,totalVolume 为0
error:{ //Json对象类型,action为’error‘时返回
errCode:, //数字类型;错误码
errMsg:'', //字符串类型;错误信息
},
warning:{ //Json对象类型,action为’warning‘时返回
warningCode:, //数字类型;错误码
warningMsg:'', //字符串类型;警告信息
},
enterRoom:{//Json对象类型,action为’enterRoom‘时返回
result:, //数字类型,正数为成功加入时间消耗,负数为错误码
},
exitRoom:{//Json对象类型,action为’exitRoom‘时返回
reason:, //数字类型,离开房间原因,0:主动调用 exitRoom 退房;1:被服务器踢出当前房间;2:当前房间整个被解散
},
remoteUserEnterRoom:{//Json对象类型,action为’remoteUserEnterRoom‘时返回
userId:'', //字符串类型;加入房间用户id
},
remoteUserLeaveRoom:{//Json对象类型,action为’remoteUserLeaveRoom‘时返回
userId:'', //字符串类型;退出房间用户id
reason:, //数字类型;退出原因
},
firstVideoFram:{//Json对象类型,action为’firstVideoFram‘时返回
userId:'', //字符串类型;用户id
available:, //布尔类型;画面是否开启,仅android支持
streamType:,//数字类型;视频流类型:摄像头或屏幕分享;0:主画面视频流,1:小画面视频流,2:辅流(屏幕分享),仅支持iOS
width:, //数字类型;画面宽度,仅支持iOS
height:, //数字类型;画面高度,仅支持iOS
},
firstAudioFrame:{//Json对象类型,action为’firstAudioFrame‘时返回
userId:'', //字符串类型;用户id
},
screenCapturePaused:{//Json对象类型,action为’screenCapturePaused‘时返回,仅支持iOS
reason:, //数字类型,暂停原因,0:用户主动暂停;1:屏幕窗口不可见暂停
},
screenCaptureResumed:{//Json对象类型,action为’screenCaptureResumed‘时返回,仅支持iOS
reason:, //数字类型,恢复原因,0:用户主动恢复;1:屏幕窗口恢复可见从而恢复分享
},
screenCaptureStoped:{//Json对象类型,action为’screenCaptureStoped‘时返回,仅支持iOS
reason:, //数字类型,停止原因,0:用户主动停止;1:屏幕窗口关闭导致停止
},
onUserVoiceVolume:{//Json对象类型,action为’onUserVoiceVolume‘时返回
userVolumes:[{ //json对象;
userId:'', //字符串类型;说话者的 userId, 空 为自己
volume:0 //数字类型;说话者的音量, 取值范围0 - 100
},
],
totalVolume:0 //所有远端成员的总音量, 取值范围0 - 100
},
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'' //错误原因
}
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setTRTCListener({
},function(ret, err) {
if (ret.status) {
alert('成功');
}
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
exitRoom
退出房间
exitRoom({params}, callback(ret, err))
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.exitRoom({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
startLocalAudio
开启本地语音
startLocalAudio({params}, callback(ret, err))
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.startLocalAudio({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
stopLocalAudio
关闭本地语音
stopLocalAudio({params}, callback(ret, err))
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.stopLocalAudio({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
startLocalPreview
开启本地画面采集
startLocalPreview({params}, callback(ret, err))
params
rect:
- 类型:Json对象类型
- 描述:画面预览控件位置
- 内部字段:
{ x:, //数字类型,控件到屏幕左边框距离,默认:0 y:, //数字类型,控件到屏幕上边框距离,默认:0 w:, //数字类型,控件宽,默认:300 h:, //数字类型,控件高,默认:300 }
isFrontCamera
- 类型:布尔类型
- 描述:(可选项)是否开启前置摄像头
- 默认:true
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.startLocalPreview({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
stopLocalPreview
停止本地画面采集
stopLocalPreview({params}, callback(ret, err))
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.stopLocalPreview({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
switchCamera
切换摄像头
switchCamera({params}, callback(ret, err))
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.switchCamera({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
muteLocalVideo
暂停/恢复推送本地的视频数据
muteLocalVideo({params}, callback(ret, err))
params
mute:
- 类型:布尔类型
- 描述:(可选项)是否暂停,true:暂停,false:恢复
- 默认值:true
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.muteLocalVideo({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
muteLocalAudio
暂停/恢复推送本地的音频数据
muteLocalAudio({params}, callback(ret, err))
params
mute:
- 类型:布尔类型
- 描述:(可选项)是否暂停,true:暂停,false:恢复
- 默认值:true
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.muteLocalAudio({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
startRemoteView
开始显示用户userId的视频画面
startRemoteView({params}, callback(ret, err))
params
rect:
- 类型:Json对象类型
- 描述:画面预览控件位置
- 内部字段:
{ x:, //数字类型,控件到屏幕左边框距离,默认:0 y:, //数字类型,控件到屏幕上边框距离,默认:0 w:, //数字类型,控件宽,默认:300 h:, //数字类型,控件高,默认:300 }
remoteUid
- 类型:字符串类型
- 描述:远程用户userId
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.startRemoteView({
rect:{
x:,
y:,
w:,
h:,
},
remoteUid:'',
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
stopRemoteView
停止显示用户userId的视频画面
stopRemoteView({params}, callback(ret, err))
params
remoteUid
- 类型:字符串类型
- 描述:远程用户userId
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.stopRemoteView({
remoteUid:'',
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
stopAllRemoteView
停止显示所有远端视频画面,同时不再拉取远端用户的视频数据流
stopAllRemoteView({params}, callback(ret, err))
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.stopAllRemoteView({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
muteRemoteVideoStream
暂停/恢复接收指定的远端视频流。
muteRemoteVideoStream({params}, callback(ret, err))
params
remoteUid
- 类型:字符串类型
- 描述:远程用户userId
mute:
- 类型:布尔类型
- 描述:是否暂停接收
- 默认值:true
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.muteRemoteVideoStream({
remoteUid:'',
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
muteAllRemoteVideoStreams
暂停/恢复接收所有远端视频流。
muteAllRemoteVideoStreams({params}, callback(ret, err))
params
mute:
- 类型:布尔类型
- 描述:是否暂停接收
- 默认值:true
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.muteAllRemoteVideoStreams({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
muteRemoteAudio
暂停/恢复接收指定的远端音频流。
muteRemoteAudio({params}, callback(ret, err))
params
remoteUid
- 类型:字符串类型
- 描述:远程用户userId
mute:
- 类型:布尔类型
- 描述:是否暂停接收
- 默认值:true
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.muteRemoteAudio({
remoteUid:'',
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
muteAllRemoteAudio
暂停/恢复接收所有远端音频流。
muteAllRemoteAudio({params}, callback(ret, err))
params
mute:
- 类型:布尔类型
- 描述:是否暂停接收
- 默认值:true
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.muteAllRemoteAudio({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setLocalViewRotation
设置本地图像的顺时针旋转角度
setLocalViewRotation({params}, callback(ret, err))
params
rotation:
- 类型:数字类型
- 描述:旋转角度
- 可选值:0:不旋转
1:顺时针旋转90度 2:顺时针旋转180度 3:顺时针旋转270度
- 默认值:0
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setLocalViewRotation({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setRemoteViewRotation
设置远端图像的顺时针旋转角度
setRemoteViewRotation({params}, callback(ret, err))
params
remoteUid
- 类型:字符串类型
- 描述:远程用户userId
rotation:
- 类型:数字类型
- 描述:旋转角度
- 可选值:0:不旋转
1:顺时针旋转90度 2:顺时针旋转180度 3:顺时针旋转270度
- 默认值:0
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setRemoteViewRotation({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setVideoEncoderRotation
设置视频编码输出的画面方向,即设置远端用户观看到的和服务器录制的画面方向
setVideoEncoderRotation({params}, callback(ret, err))
params
rotation:
- 类型:数字类型
- 描述:旋转角度
- 可选值:0:不旋转
1:顺时针旋转90度 2:顺时针旋转180度 3:顺时针旋转270度
- 默认值:0
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setVideoEncoderRotation({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setLocalViewMirror
设置本地摄像头预览画面的镜像模式
setLocalViewMirror({params}, callback(ret, err))
params
type:
- 类型:数字类型
- 描述:镜像模式
- 可选值:0:前置摄像头镜像,后置摄像头不开启镜像
1:前置摄像头和后置摄像头都开启镜 2:前置摄像头和后置摄像头都不开启镜像
- 默认值:0
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setLocalViewMirror({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setVideoEncoderMirror
设置编码器输出的画面镜像模式
setVideoEncoderMirror({params}, callback(ret, err))
params
mirror:
- 类型:布尔类型
- 描述:(可选项)是否镜像
- 默认值:false
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setVideoEncoderMirror({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setGSensorMode
设置重力感应的适应模式
setGSensorMode({params}, callback(ret, err))
params
mode:
- 类型:数字类型
- 描述:(可选项)重力感应模式
- 取值范围: 0:关闭重力感应
1:开启重力感应,但是 android SDK 不会根据陀螺仪自动调整本地 View 的画面方向, 而是交给 Android 系统的自动排布功能 2:开启重力感应,并且 android SDK 会根据陀螺仪自动调整本地 View 的画面方向。
- 默认值:android:0,iOS:1
- 说明:iOS平台0关闭,1开启,3待废弃,效果等同于 UIAutoLayout
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setGSensorMode({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
snapshotVideo
视频画面截图
snapshotVideo({params}, callback(ret, err))
params
remoteUid
- 类型:字符串类型
- 描述:远程用户userId,iOS端不传此参数表示截取本地视频画面
streamType
- 类型:数字类型
- 描述:(可选项)视频流类型
- android 取值范围:0:摄像头画面
1:屏幕分享画面
iOS 取值范围:0:主画面视频流
1:小画面视频流 2:辅流(屏幕分享)
默认值:0
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false;是否成功
imgPath:, //字符串类型;截图路径
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'' //错误原因
}
示例代码
var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.snapshotVideo({
remoteUid:'',
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setAudioCaptureVolume
设置 SDK 采集音量
setAudioCaptureVolume({params}, callback(ret, err))
params
volume
- 类型:数字类型
- 描述:音量大小
- 取值范围:[0-100]
- 默认值:50
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setAudioCaptureVolume({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
getAudioCaptureVolume
获取 SDK 采集音量
getAudioCaptureVolume({params}, callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false;是否成功
volume:, //数字类型;音量
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'' //错误原因
}
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.getAudioCaptureVolume({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setAudioPlayoutVolume
设置 SDK 播放音量
setAudioPlayoutVolume({params}, callback(ret, err))
params
volume
- 类型:数字类型
- 描述:音量大小
- 取值范围:[0-100]
- 默认值:50
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setAudioPlayoutVolume({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
getAudioPlayoutVolume
获取 SDK 播放音量
getAudioPlayoutVolume({params}, callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false;是否成功
volume:, //数字类型;音量
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'' //错误原因
}
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.getAudioPlayoutVolume({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
enableAudioEarMonitoring
开启耳返
enableAudioEarMonitoring({params}, callback(ret, err))
params
enable:
- 类型:布尔类型
- 描述:是否开启耳返,开启后会在耳机里听到自己的声音,仅带耳机时有效
- 默认:false
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.enableAudioEarMonitoring({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
isCameraZoomSupported
查询当前摄像头是否支持缩放
isCameraZoomSupported({params}, callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false;是否成功
enable:, //布尔类型;是否支持缩放
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'' //错误原因
}
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.isCameraZoomSupported({
},function(ret,err){
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setZoom
设置摄像头缩放因子(焦距)
setZoom({params}, callback(ret, err))
params
distance:
- 类型:数字类型
- 描述:缩放因子
- 取值范围:[1-5],数值越大焦距越远
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setZoom({
distance:3,
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
isCameraTorchSupported
查询是否支持开启闪光灯
isCameraTorchSupported({params}, callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false;是否成功
enable:, //布尔类型;是否支持闪光灯
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'' //错误原因
}
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.isCameraTorchSupported({
},function(ret,err){
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
enableTorch
开关闪光灯
enableTorch({params}, callback(ret, err))
params
enable:
- 类型:布尔类型
- 描述:是否开启闪光灯
- 默认值:false
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.enableTorch({
enable:,
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
isCameraFocusSupport
是否支持设置焦点
isCameraFocusSupport({params}, callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false;是否成功
enable:, //布尔类型;是否支持
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'' //错误原因
}
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.isCameraFocusSupport({
},function(ret,err){
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setFocusPosition
设置摄像头焦点
setFocusPosition({params}, callback(ret, err))
params
x:
- 类型:数字类型
- 描述:对焦位置x坐标
y:
- 类型:数字类型
- 描述:对焦位置y坐标
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setFocusPosition({
x:,
y:,
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
startScreenCapture
启动屏幕分享,iOS本接口只支持iOS 13(包含)以上系统
startScreenCapture({params}, callback(ret, err))
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.startScreenCapture({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
stopScreenCapture
停止屏幕采集,iOS本接口只支持iOS 13(包含)以上系统
stopScreenCapture({params}, callback(ret, err))
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.stopScreenCapture({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
pauseScreenCapture
暂停屏幕分享,iOS本接口只支持iOS 13(包含)以上系统
pauseScreenCapture({params}, callback(ret, err))
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.pauseScreenCapture({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
resumeScreenCapture
恢复屏幕分享,iOS本接口只支持iOS 13(包含)以上系统
resumeScreenCapture({params}, callback(ret, err))
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.resumeScreenCapture({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
playBGM
启动播放背景音乐
playBGM({params}, callback(ret, err))
params
path:
- 类型:字符串类型
- 描述:音乐文件路径,支持的文件格式:aac, mp3,android支持fs路径,iOS支持widget、fs路径
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false;是否成功
action:'', //字符串类型;回调阶段
‘start’:开始播放
‘progress’:播放进度
‘complete’:播放完成
startCode:, //数字类型,action为‘start’时返回,0为成功
completeCode:,//数字类型,action为‘complete’时返回,0为正常结束
duration:, //数字类型,总时长,action为‘progress’返回
progress:, //数字类型,已播放时长,action为‘progress’返回
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'' //错误原因
}
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.playBGM({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
stopBGM
停止播放背景音乐。
stopBGM({params}, callback(ret, err))
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.stopBGM({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
pauseBGM
暂停播放背景音乐。
pauseBGM({params}, callback(ret, err))
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.pauseBGM({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
resumeBGM
继续播放背景音乐
resumeBGM({params}, callback(ret, err))
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.resumeBGM({
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setBGMPosition
设置 BGM 播放进度。
setBGMPosition({params}, callback(ret, err))
params
pos:
- 类型:数字类型
- 描述:进度,(豪秒)
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false;是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'' //错误原因
}
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setBGMPosition({
pos:,
},function(ret,err){
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setBGMVolume
设置背景音乐播放音量的大小。
setBGMVolume({params}, callback(ret, err))
params
volume:
- 类型:数字类型
- 描述:音量大小
- 取值范围:[0-100]
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setBGMVolume({
volume:,
},function(ret,err){
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setBGMPlayoutVolume
设置背景音乐本地播放音量的大小。
setBGMPlayoutVolume({params}, callback(ret, err))
params
volume:
- 类型:数字类型
- 描述:音量大小
- 取值范围:[0-100]
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setBGMPlayoutVolume({
volume:,
},function(ret,err){
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setBGMPublishVolume
设置背景音乐远端播放音量的大小。
setBGMPublishVolume({params}, callback(ret, err))
params
volume:
- 类型:数字类型
- 描述:音量大小
- 取值范围:[0-100]
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setBGMPublishVolume({
volume:,
},function(ret,err){
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setVoiceChangerType
设置变声类型
setVoiceChangerType({params}, callback(ret, err))
params
type:
- 类型:数字类型
- 描述:变声类型
- 取值范围:0:关闭变声器
1:熊孩子 2:萝莉 3:大叔 4:重金属 5:感冒 6:外国人 7:困兽 8:死肥宅 9:强电流 10:重机械 11:空灵
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false;是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'' //错误原因
}
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setVoiceChangerType({
type:,
},function(ret,err){
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setLocalViewFillMode
设置本地图像的渲染模式
setLocalViewFillMode({params}, callback(ret, err))
params
type:
- 类型:数字类型
- 描述:变声类型
- 取值范围:0:图像铺满屏幕,超出显示视窗的视频部分将被裁剪
1:图像长边填满屏幕,短边区域会被填充黑色
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setLocalViewFillMode({
type:,
});
可用性
iOS、Android系统
可提供的1.0.1及更高版本
setRemoteViewFillMode
设置远端图像的渲染模式
setRemoteViewFillMode({params}, callback(ret, err))
params
remoteUid
- 类型:字符串类型
- 描述:用户 ID
type:
- 类型:数字类型
- 描述:变声类型
- 取值范围:0:图像铺满屏幕,超出显示视窗的视频部分将被裁剪
1:图像长边填满屏幕,短边区域会被填充黑色
示例代码
var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.setRemoteViewFillMode({
type:,
});
可用性
iOS、Android系统
可提供的1.0.1及更高版本
setVideoEncoderParam
设置视频编码器相关参数,,、该设置决定了远端用户看到的画面质量(同时也是云端录制出的视频文件的画面质量)
setVideoEncoderParam({params}, callback(ret, err))
params
videoResolution:
- 类型:数字类型
- 描述:视频分辨率,此处仅定义横屏分辨率,如需使用竖屏分辨率(例如360 × 640),需要同时指定 resMode 为 1(竖屏分辨率)。1920_1080(114)分辨率仅支持iOS
- 取值范围:1:宽高比1:1,120_120,建议码率 VideoCall:80kbps LIVE:120kbps
3:宽高比1:1,160_160,建议码率 VideoCall:100kbps LIVE:150kbps 5:宽高比1:1,270_270,建议码率 VideoCall:200kbps LIVE:120kbps 7:宽高比1:1,480_480,建议码率 VideoCall:350kbps LIVE:120kbps 50:宽高比4:3,160_120,建议码率 VideoCall:100kbps LIVE:150kbps 52:宽高比4:3,240_180,建议码率 VideoCall:150kbps LIVE:225kbps 54:宽高比4:3,280_210,建议码率 VideoCall:200kbps LIVE:300kbps 56:宽高比4:3,320_240,建议码率 VideoCall:250kbps LIVE:375kbps 58:宽高比4:3,400_300,建议码率 VideoCall:300kbps LIVE:450kbps 60:宽高比4:3,480_360,建议码率 VideoCall:400kbps LIVE:600kbps 62:宽高比4:3,640_480,建议码率 VideoCall:600kbps LIVE:900kbps 64:宽高比4:3,960_720,建议码率 VideoCall:1000kbps LIVE:1500kbps 100:宽高比16:9,160_90,建议码率 VideoCall:150kbps LIVE:250kbps 102:宽高比16:9,256_144,建议码率 VideoCall:200kbps LIVE:300kbps 104:宽高比16:9,320_180,建议码率 VideoCall:250kbps LIVE:400kbps 106:宽高比16:9,480_270,建议码率 VideoCall:350kbps LIVE:550kbps 108:宽高比16:9,640_360,建议码率 VideoCall:550kbps LIVE:900kbps 110:宽高比16:9,960_540,建议码率 VideoCall:850kbps LIVE:1300kbps 112:宽高比16:9,1280_720,建议码率 VideoCall:1200kbps LIVE:1800kbps 114:宽高比16:9,1920_1080,建议码率 VideoCall:2000kbps LIVE:3000kbps(此分辨率仅支持iOS)
resMode:
- 类型:数字类型
- 描述:分辨率模式
- 取值范围:0:横屏分辨率
1:竖屏分辨率
- 推荐取值:手机直播建议选择 竖屏,Window 和 Mac 建议选择 横屏
- 特别说明:如果 videoResolution 指定分辨率 640 × 360,resMode 指定模式为 Portrait,则最终编码出的分辨率为360 × 640
videoFps:
- 类型:数字类型
- 描述:视频采集帧率
- 推荐取值:15fps或20fps,5fps以下,卡顿感明显。10fps以下,会有轻微卡顿感。20fps以上,则过于浪费(电影的帧率为24fps)
- 特别说明:很多 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分过于突出美颜功能的 Android 手机前置摄像头的采集帧率可能低于10fps
videoBitrate:
- 类型:数字类型
- 描述:目标视频码率,SDK 会按照目标码率进行编码,只有在网络不佳的情况下才会主动降低视频码率
- 推荐取值:请参考本 videoResolution 在各档位注释的最佳码率,也可以在此基础上适当调高。比如 videoResolution 对应 1200kbps 的目标码率,您也可以设置为 1500kbps 用来获得更好的清晰度观感
- 特别说明:很多 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分过于突出美颜功能的 Android 手机前置摄像头的采集帧率可能低于10fps
enableAdjustRes:
- 类型:布尔类型
- 描述:是否允许 SDK 动态调整分辨率,开启后会对云端录制产生影响
- 推荐取值:需要开启云端录制的场景建议设置为 false,中途视频分辨率发生变化后,云端录制出的 MP4 在一般的播放器上都无法正常播放。视频通话模式,若无需云端录制,可以设置为 true,此时 SDK 会根据当前待带宽情况自动选择合适的分辨率(仅针对 主路画面 生效)。
- 特别说明:如有云端录制需求,请设置为 false
- 默认:false
示例代码
var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setVideoEncoderParam({
});
可用性
iOS、Android系统
可提供的1.0.1及更高版本
enableAudioVolumeEvaluation
启用音量大小提示,开启此功能后,SDK 会在 onUserVoiceVolume中反馈对每一路声音音量大小值的评估。 如需打开此功能,请在 startLocalAudio之前调用。
enableAudioVolumeEvaluation({params}, callback(ret, err))
params
interval:
- 类型:数字类型
- 描述:(可选项)设置 onUserVoiceVolume 回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于0则会关闭回调,建议设置为300ms
- 默认:300
示例代码
var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.enableAudioVolumeEvaluation({
interval:300
});
可用性
iOS、Android系统
可提供的1.0.3及更高版本
setAudioRoute
设置音频路由。微信和手机 QQ 视频通话功能的免提模式就是基于音频路由实现的。一般手机都有两个扬声器,一个是位于顶部的听筒扬声器,声音偏小;一个是位于底部的立体声扬声器,声音偏大。设置音频路由的作用就是决定声音使用哪个扬声器播放
setAudioRoute({params}, callback(ret, err))
params
route:
- 类型:数字类型
- 描述:(可选项)即声音由哪里输出,0:扬声器、1:听筒
- 默认:0
示例代码
var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.setAudioRoute({
route:0
});
可用性
iOS、Android系统
可提供的1.0.3及更高版本