tencentTrtcSmart
来自于:厦门软云网络科技有限公司立即使用
腾讯云实时音视频Smart
腾讯云视频语音通话
该模块实现腾讯云视频语音通话, 支持视频通话和语音通话, 提供类似微信的视频通话和语音通话功能,适用多人、双人视频语音模式、网络会议、在线医疗、视频客服、金融双录等场景。
腾讯云视频互动直播
腾讯云视频互动直播模块,提供互动直播的功能,包括直播、连麦PK、主播 PK、低延时观看、弹幕聊天等在互动直播场景下的相关能力。
论坛示例
该论坛提供了模块使用示例入口,您可以在论坛中找到使用的Demo,以及问题反馈。
技术支持
原生模块本身使用复杂,音视频功能强大,造成接入难度不小。 建议使用前先联系我们的技术支持,协助接入。
我们的客服微信: ruanyunkeji006
接口列表
初始化与监听
接口列表 | 功能 |
---|---|
init | 初始化 |
setCallingListener | 设置监听器 |
removeCallingListener | 移除监听器 |
destroy | 销毁 |
登录与登出
接口列表 | 功能 |
---|---|
login | 登录 |
logout | 登出 |
通话操作
接口列表 | 功能 |
---|---|
call | 单人通话邀请 |
groupCall | 群组邀请通话 |
accept | 接受当前通话 |
reject | 拒绝当前通话 |
hangup | 挂断当前通话 |
推拉流相关
接口列表 | 功能 |
---|---|
startRemoteView | 显示远端画面 |
stopRemoteView | 停止显示远端画面 |
音视频控制
接口列表 | 功能 |
---|---|
openCamera | 开启摄像头 |
switchCamera | 切换前后摄像头 |
closeCamera | 关闭摄像头 |
setMicMute | 静音本地音频采集 |
setHandsFree | 开启免提 |
switchToAudio | 切换为语音 |
模块接口
init
初始化
init({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
代码示例
calling.init({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setCallingListener
设置监听
setCallingListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
eventType: "onInvited",
...
}
eventType:
- 类型: JSON对象
- 描述: 事件名称, 详见事件回调
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.setCallingListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
removeCallingListener
移除监听器
removeCallingListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.removeCallingListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
destroy
销毁
destroy({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.destroy({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
login
登录
login({params}, function(ret, err))
params
sdkAppId:
- 类型: 整数类型
- 描述: (必填项)在实时音视频应用Id
userId:
- 类型: 字符串类型
- 描述: (必填项) 当前用户的Id,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符(-)和下划线(_)
userSig:
- 类型: 字符串
- 描述: (必填项) 用户签名
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.login({
sdkAppId: 14xxxxx16,
userId: 'test001',
userSig: 'eJw1zMEOgxxxxxeH3CNMZw_'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
logout
登出
logout({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.logout({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
call
修改个人信息
call({params}, function(ret, err))
params
userId:
- 类型: 字符串类型
- 描述: (可选项) 呼叫用户Id
type:
- 类型: 整数类型
- 描述: (可选项) 通话类型:视频/语音
- 取值范围:
- 0: 未知
- 1: 视频
- 2: 语音
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.call({
userId: 'test002',
type: 1
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
groupCall
群组邀请通话,被邀请方会收到 onInvited 回调。如果当前处于通话中,可以继续调用该函数继续邀请他人进入通话,同时正在通话的用户会收到 onGroupCallInviteeListUpdate 回调
groupCall({params}, function(ret, err))
params
userIdList:
- 类型: 数组类型
- 描述: (必填项)邀请用户Id列表
type:
- 类型: 整数类型
- 描述: (必填项) 通话类型:视频/语音
- 取值范围:
- 0: 未知
- 1: 视频
- 2: 语音
groupId:
- 类型: 字符串类型
- 描述: (可选项) 群Id
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.groupCall({
userIdList: [
'test001',
'test002'
],
type: 1,
groupId: 'group001'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
accept
接受当前通话。当您作为被邀请方收到 onInvited 的回调时,可以调用该函数接听来电
accept({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.accept({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
reject
拒绝当前通话。当您作为被邀请方收到 onInvited 的回调时,可以调用该函数拒绝来电
reject({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.reject({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
hangup
挂断当前通话。当您处于通话中,可以调用该函数结束通话
hangup({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.hangup({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
startRemoteView
远端用户的摄像头数据渲染
startRemoteView({params}, function(ret, err))
params
userId:
- 类型: 字符串类型
- 描述: (必填项) 远端用户Id
rect:
- 类型: JSON对象
- 描述: (必填项) 显示区域的位置和大小
- 内部字段:
{
x: 0,
y: 0,
w: 100,
h: 200
}
- 字段详情:
x:
- 类型: 整数类型
- 描述: (必填项) 视频左上角x轴坐标
y:
- 类型: 整数类型
- 描述: (必填项) 视频左上角y轴坐标
w:
- 类型: 整数类型
- 描述: (必填项) 视频画面宽度
h:
- 类型: 整数类型
- 描述: (必填项) 视频画面高度
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.startRemoteView({
userId: 'test002',
rect: {
x: 0,
y: 0,
w: api.winWidth / 4,
h: api.winHeight / 4
}
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
stopRemoteView
停止渲染远端数据
stopRemoteView({params}, function(ret, err))
params
userId:
- 类型: 字符串类型
- 描述: (必填项) 远端用户Id
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.stopRemoteView({
userId: 'test002'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
openCamera
开启摄像头
openCamera({params}, function(ret, err))
params
isFront:
- 类型: 布尔类型
- 描述: (必填项) true表示开启前置摄像头,false表示开启后置摄像头
rect:
- 类型: JSON对象
- 描述: (必填项) 视频的位置和大小
- 内部字段:
{
x: 0,
y: 0,
w: 100,
h: 200
}
- 字段详情:
x:
- 类型: 整数类型
- 描述: (必填项) 视频左上角x轴坐标
y:
- 类型: 整数类型
- 描述: (必填项) 视频左上角y轴坐标
w:
- 类型: 整数类型
- 描述: (必填项) 视频画面宽度
h:
- 类型: 整数类型
- 描述: (必填项) 视频画面高度
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.openCamera({
isFront: isFront,
rect: {
x: 0,
y: 0,
w: api.winWidth / 2,
h: api.winHeight / 2
}
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
switchCamera
切换前后摄像头
switchCamera({params}, function(ret, err))
params
isFront:
- 类型: 布尔类型
- 描述: (必填项) true表示切换到前置摄像头,false表示切换到后置摄像头
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.switchCamera({
isFront: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
closeCamera
关闭摄像头
closeCamera({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.closeCamera({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setMicMute
静音本地音频采集
setMicMute({params}, function(ret, err))
params
isMute:
- 类型: 布尔类型
- 描述: (必填项) true表示麦克风关闭,false表示麦克风打开
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.setMicMute({
isMute: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setHandsFree
开启免提
setHandsFree({params}, function(ret, err))
params
isHandsFree:
- 类型: 布尔类型
- 描述: (必填项) true表示开启免提,false表示关闭免提
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.setHandsFree({
isHandsFree: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
switchToAudio
切换为语音
switchToAudio({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
calling.switchToAudio({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
事件回调
通用事件回调
onError
错误回调
说明:
SDK 不可恢复的错误,一定要监听,并分情况给用户适当的界面提示
{
eventType: 'onError',
code: 12,
msg: 'This is a error msg'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
code:
- 类型: 整数类型
- 描述: 错误码
msg
- 类型: 字符串类型
- 描述: 错误信息
邀请方回调
onReject
拒绝通话回调
{
eventType: 'onReject',
userId: 'test002'
}
仅邀请者收到通知,其他用户应使用 onUserEnter
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userId:
- 类型: 字符串类型
- 描述: 拒绝用户的Id
onNoResp
对方无回应回调。
{
eventType: 'onNoResp',
userId: 'test002'
}
仅邀请者受到通知,其他用户应使用 onUserEnter
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userId:
- 类型: 字符串类型
- 描述: 拒绝用户的Id
onLineBusy
通话忙线回调。
{
eventType: 'onLineBusy',
userId: 'test002'
}
仅邀请者收到通知,其他用户应使用 onUserEnter
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userId:
- 类型: 字符串类型
- 描述: 拒绝用户的Id
被邀请方回调
onInvited
被邀请通话回调
{
eventType: 'onInvited',
sponsor: 'test002'
userIdList: [
'test001'
],
isFromGroup: true,
callType: 1
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
sponsor:
- 类型: 字符串类型
- 描述: 发起方的Id
userIdList:
- 类型: JSON数组
- 描述: 邀请Id列表
isFromGroup:
- 类型: 布尔类型
- 描述: 是否多人通话邀请
callType:
- 类型: 整数类型
- 描述: 通话类型,0表示未知,1表示视频,2表示语音
onCallingCancel
当前通话被取消回调。接收方未处理请求,邀请方取消后会收到此回调
{
eventType: 'onCallingCancel',
userId: 'test002'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userId:
- 类型: 字符串类型
- 描述: 取消用户的Id
onCallingTimeOut
当前通话超时回调
{
eventType: 'onCallingTimeOut'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
通用回调
onGroupCallInviteeListUpdate
群聊更新邀请列表回调
{
eventType: 'onGroupCallInviteeListUpdate',
userIdList: [
'test002'
]
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userIdList:
- 类型: JSON数组
- 描述: 邀请Id列表
onUserEnter
用户进入通话回调
{
eventType: 'onUserEnter',
userId: 'test002'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userId:
- 类型: 字符串类型
- 描述: 进入通话用户Id
onUserLeave
用户离开通话回调
{
eventType: 'onUserLeave',
userId: 'test002'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userId:
- 类型: 字符串类型
- 描述: 离开通话用户Id
onUserAudioAvailable
用户是否开启音频上行回调
{
eventType: 'onUserAudioAvailable',
userId: 'test002',
available: true
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userId:
- 类型: 字符串类型
- 描述: 通话用户Id
available:
- 类型: 布尔类型
- 描述: 用户音频是否可用
onUserVideoAvailable
用户是否开启视频上行回调。收到通知后,用户可调用 startRemoteView 渲染远端视频
{
eventType: 'onUserVideoAvailable',
userId: 'test002',
available: true
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userId:
- 类型: 字符串类型
- 描述: 通话用户Id
available:
- 类型: 布尔类型
- 描述: 用户音频是否可用
onUserVoiceVolume
用户是否开启视频上行回调。收到通知后,用户可调用 startRemoteView 渲染远端视频
{
eventType: 'onUserVoiceVolume',
volumeList: [
volumeInfo,
...
]
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
volumeList:
- 类型: JSON数组
- 描述: 音量列表
volumeInfo:
- 类型: JSON对象
- 描述: 音量信息
- 内部字段:
{
userId: 'test002',
volume: 10
}
- 字段详情:
userId:
- 类型: 字符串类型
- 描述: 通话用户Id
volume:
- 类型: 整数类型
- 描述: 通话者的音量, 取值范围0 - 100
onCallEnd
通话结束回调
{
eventType: 'onCallEnd'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
接口列表
初始化与监听
接口列表 | 功能 |
---|---|
init | 初始化 |
setLiveRoomListener | 设置监听器 |
removeLiveRoomListener | 移除监听器 |
destroy | 销毁 |
登录与登出
接口列表 | 功能 |
---|---|
login | 登录 |
logout | 登出 |
setSelfProfile | 修改个人信息 |
房间接口
接口列表 | 功能 |
---|---|
createRoom | 创建房间 |
destroyRoom | 销毁房间 |
enterRoom | 进入房间 |
exitRoom | 离开房间 |
getRoomInfos | 列表房间信息 |
getAnchorList | 获取房间内主播列表 |
getAudienceList | 获取房间内所有观众 |
推拉流相关
接口列表 | 功能 |
---|---|
startCameraPreview | 开启视频本地预览 |
stopCameraPreview | 停止本地视频采集及预览 |
startPublish | 开始直播(推流) |
stopPublish | 停止直播(推流) |
startPlay | 播放远端视频画面 |
stopPlay | 停止渲染远端视频画面 |
主播和观众连麦
接口列表 | 功能 |
---|---|
setLinkMicListener | 设置连麦监听 |
requestJoinAnchor | 观众请求连麦 |
responseJoinAnchor | 主播处理连麦请求 |
kickoutJoinAnchor | 主播踢除连麦观众 |
主播跨房间 PK
接口列表 | 功能 |
---|---|
setRoomPKListener | 设置跨房PK监听 |
requestRoomPK | 主播请求跨房PK |
responseRoomPK | 主播响应跨房PK请求 |
quitRoomPK | 主动退出跨房PK |
音视频控制
接口列表 | 功能 |
---|---|
switchCamera | 切换前后摄像头 |
setMirror | 设置是否镜像展示 |
muteLocalAudio | 静音本地音频 |
muteRemoteAudio | 静音远端音频 |
muteAllRemoteAudio | 静音所有远端音频 |
消息发送
接口列表 | 功能 |
---|---|
sendRoomTextMsg | 发送普通文本消息 |
sendRoomCustomMsg | 发送自定义文本消息 |
模块接口
init
初始化
init({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
代码示例
liveRoom.init({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setLiveRoomListener
设置监听器
setLiveRoomListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
or
{
eventType: 'onAnchorEnter'
}
- 字段详情:
eventType:
- 类型: 字符串类型
- 描述: 事件名称, 详见 事件回调
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.setLiveRoomListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
removeLiveRoomListener
移除监听器
removeLiveRoomListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.removeLiveRoomListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
destroy
销毁
destroy({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.destroy({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
login
登录
login({params}, function(ret, err))
params
sdkAppId:
- 类型: 整数类型
- 描述: (必填项) 实时音视频应用Id
userId:
- 类型: 字符串类型
- 描述: (必填项) 当前用户的Id,当前用户的 ID,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符(-)和下划线(_)
userSig:
- 类型: 字符串
- 描述: (必填项) 用户签名,建议设定 7 天,能够有效规避 userSign 过期导致的 IM 收发消息失败、连麦失败等情况
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.login({
sdkAppId: 140xxxx416,
userId: 'test001',
userSig: 'eJwtzExxxxxizphb3L40HQ'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
logout
登出
logout({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.logout({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setSelfProfile
修改个人信息
setSelfProfile({params}, function(ret, err))
params
userName:
- 类型: 字符串类型
- 描述: (可选项) 昵称
avatarUrl:
- 类型: 字符串类型
- 描述: (可选项) 头像地址
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.setSelfProfile({
userName: 'userName001',
avatarUrl: 'http://xxxx.myqcloud.com/xxxx.png'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
createRoom
创建房间(主播调用)
createRoom({params}, function(ret, err))
主播开播的正常调用流程如下:
- [主播] 调用 startCameraPreview() 打开摄像头预览,此时可以调整美颜参数;
- [主播] 调用 createRoom() 创建直播间,房间创建成功与否会通过 ret 通知给主播;
- [主播] 调用 starPublish() 开始推流。
params
roomId:
- 类型: 整数类型
- 描述: (必填项) 房间标识,需要由您分配并进行统一管理。多个 roomId 可以汇总成一个直播间列表,腾讯云暂不提供直播间列表的管理服务,请自行管理您的直播间列表
roomName:
- 类型: 字符串类型
- 描述: (必填项) 房间名称
coverUrl:
- 类型: 字符串类型
- 描述: (必填项) 房间封面地址
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.createRoom({
roomId: 1,
roomName: 'room001',
coverUrl: 'https://xxxx.myqcloud.com/cover001.jpg'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
destroyRoom
销毁房间(主播调用)
destroyRoom({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.destroyRoom({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
enterRoom
进入房间(观众调用)
enterRoom({params}, function(ret, err))
观众观看直播的正常调用流程如下:
- 观众 向您的服务端获取最新的直播间列表,可能包含多个直播间的 roomId 和房间信息。
- 观众观众选择一个直播间,并调用 enterRoom 进入该房间。
- 观众调用 startPlay 并传入主播的 userId 开始播放。
- 若直播间列表已包含主播端的 userId 信息,观众端可直接调用 startPlay 传入userId即可开始播放。
- 若在进房前暂未获取主播的 userId,观众端在进房后会收到 setLiveRoomListener 中的 onAnchorEnter(userId) 的事件回调,该回调中携带主播的 userId 信息,再调用 startPlay 传入userId即可播放。
params
roomId:
- 类型: 字符串类型
- 描述: (必填项) 房间标识,需要由您分配并进行统一管理
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.enterRoom({
roomId: 1001
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
exitRoom
离开房间
exitRoom({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.exitRoom({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
getRoomInfos
获取房间列表的详细信息, 房间信息是主播在创建 createRoom() 时通过 roomInfo 设置的
getRoomInfos({params}, function(ret, err))
说明:
如果房间列表和房间信息都由您自行管理,可忽略该函数
params
roomIdList:
- 类型: 数组类型
- 描述: (必填项) 房间号列表
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true, // 布尔类型, true表示操作成功
roomList: [
roomInfo,
...
]
}
- 字段详情:
roomList:
- 类型: JSON数组
- 描述: 房间列表详细信息
roomInfo:
- 类型: JSON对象
- 描述: 房间信息,详见roomInfo
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.getRoomInfos({
roomIdList: [
1
]
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
getAnchorList
获取房间内所有的主播列表, enterRoom() 成功后调用才有效
getAnchorList({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true, // 布尔类型, true表示操作成功
userList: [
userInfo,
...
]
}
- 字段详情:
userList:
- 类型: JSON数组
- 描述: 主播列表
userInfo:
- 类型: JSON对象
- 描述: 用户信息,详见userInfo
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.getAnchorList({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
getAudienceList
获取房间内所有的观众信息, enterRoom() 成功后调用才有效
getAudienceList({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true, // 布尔类型, true表示操作成功
userList: [
userInfo,
...
]
}
- 字段详情:
userList:
- 类型: JSON数组
- 描述: 观众信息列表
userInfo:
- 类型: JSON对象
- 描述: 用户信息,详见userInfo
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.getAudienceList({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
startCameraPreview
开启本地视频的预览画面
startCameraPreview({params}, function(ret, err))
params
isFront:
- 类型: 布尔类型
- 描述: (必填项) true表示前置摄像头,false表示后置摄像头
rect:
- 类型: JSON对象类型
- 描述: (必填项) 视频显示的坐标和大小
- 内部字段:
{
x: 0,
y: 0,
w: 100,
h: 200
}
- 字段详情:
x:
- 类型: 整数类型
- 描述: (必填项) 视频左上角x轴坐标
y:
- 类型: 整数类型
- 描述: (必填项) 视频左上角y轴坐标
w:
- 类型: 整数类型
- 描述: (必填项) 视频画面宽度
h:
- 类型: 整数类型
- 描述: (必填项) 视频画面高度
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.startCameraPreview({
isFront: true,
rect: {
x: 0,
y: 0,
w: api.winWidth / 2,
h: api.winHeight / 2
}
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
stopCameraPreview
停止本地视频采集及预览
stopCameraPreview({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.stopCameraPreview({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
startPublish
开始直播(推流)
startPublish({params}, function(ret, err))
适用于以下场景:
- 主播开播的时候调用
- 观众开始连麦时调用
params
streamId:
- 类型: 字符串类型
- 描述: (必填项) 用于绑定直播 CDN 的 streamId,如果您希望观众通过直播 CDN 进行观看,需要指定当前主播的直播 streamId
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.startPublish({
streamId: 'stream01'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
stopPublish
停止直播(推流)
stopPublish({}, function(ret, err))
适用于以下场景:
- 主播结束直播时调用
- 观众结束连麦时调用
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.stopPublish({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
startPlay
播放远端视频画面,可以在普通观看和连麦场景中调用
startPlay({params}, function(ret, err))
普通观看场景
- 若直播间列表已包含主播端的 userId 信息,观众端可以直接在 enterRoom 成功后调用 startPlay 传入该userId播放主播的画面。
- 若在进房前暂未获取主播的 userId,观众端在进房后会收到 setLiveRoomListener 中的 onAnchorEnter(userId) 的事件回调,该回调中携带主播的 userId 信息,再调用startPlay 传入userId即可播放主播的画面。
直播连麦场景
发起连麦后,主播会收到来自 setLiveRoomListener 中的 onAnchorEnter(userId) 回调,此时使用回调中的 userId 调用 startPlay 传入userId即可播放连麦画面。
params
userId:
- 类型: 字符串类型
- 描述: (必填项) 需要观看的用户Id
rect:
- 类型: JSON对象类型
- 描述: (必填项) 视频显示区域坐标和大小
- 内部字段:
{
x: 0,
y: 0,
w: 100,
h: 200
}
- 字段详情:
x:
- 类型: 整数类型
- 描述: (必填项) 视频左上角x轴坐标
y:
- 类型: 整数类型
- 描述: (必填项) 视频左上角y轴坐标
w:
- 类型: 整数类型
- 描述: (必填项) 视频画面宽度
h:
- 类型: 整数类型
- 描述: (必填项) 视频画面高度
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.startPlay({
userId: 'test002',
rect: {
x: 0,
y: 0,
w: api.winWidth / 2,
h: api.winHeight / 2
}
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
stopPlay
停止渲染远端视频画面,需要再接收到onAnchorExit回调时,调用该接口
stopPlay({params}, function(ret, err))
params
userId:
- 类型: 字符串类型
- 描述: (必填项) 需要观看的用户Id
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.stopPlay({
userId: 'test002'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setLinkMicListener
设置连麦监听
setLinkMicListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
or
{
eventType: 'onSuccess',
...
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称,详见请求连麦事件回调
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.setLinkMicListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
requestJoinAnchor
观众请求连麦
requestJoinAnchor({params}, function(ret, err))
主播和观众的连麦流程如下:
- 观众使用 setLinkMicListener() 设置设置连麦事件监听,然后调用 requestJoinAnchor() 向主播发起连麦请求。
- 主播 会收到 setLiveRoom 的 onRequestJoinAnchor() 回调通知。
- 主播 调用 responseJoinAnchor() 决定是否接受来自观众的连麦请求。
- 观众 setLinkMicListener 监听会收到回调通知,该通知会携带主播的处理结果。
- 观众 如果请求被同意,则调用 startCameraPreview() 开启本地摄像头。
- 观众 调用 startPublish() 正式进入推流状态。
- 主播 一旦观众进入连麦状态,主播会收到 setLiveRoom 的 onAnchorEnter() 通知。
- 主播 主播调用 startPlay() 即可看到连麦观众的视频画面。
- 观众 如果直播间里已有其他观众正在跟主播连麦,新加入的连麦观众会收到 onAnchorEnter() 通知,调用 startPlay() 播放其他连麦者的视频画面。
params
reason:
- 类型: 字符串类型
- 描述: (必填项)连麦原因
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.requestJoinAnchor({
reason: 'this is a reason'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
responseJoinAnchor
主播处理连麦请求
responseJoinAnchor({params}, function(ret, err))
主播在收到 setLiveRoomListener 的 onRequestJoinAnchor() 回调后,需要调用该接口来处理观众的连麦请求
params
userId:
- 类型: 字符串类型
- 描述: (必填项) 观众Id
isAgree:
- 类型: 布尔类型
- 描述: (必填项) true表示同意,false表示拒绝
reason:
- 类型: 字符串类型
- 描述: (必填项) 同意/拒绝连麦的原因描述
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.responseJoinAnchor({
userId: 'test002',
isAgree: true,
reason: 'This is a reason'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
kickoutJoinAnchor
主播踢除连麦观众
kickoutJoinAnchor({params}, function(ret, err))
主播调用此接口踢除连麦观众后,被踢连麦观众会收到 setLiveRoomListener 的 onKickoutJoinAnchor() 回调通知
params
userId:
- 类型: 字符串类型
- 描述: (必填项) 连麦观众Id
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.kickoutJoinAnchor({
userId: 'test002'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setRoomPKListener
设置跨房PK监听
setRoomPKListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
or
{
eventType: 'onSuccess',
...
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称,详见请求跨房PK回调事件
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.setRoomPKListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
requestRoomPK
主播请求跨房PK
requestRoomPK({params}, function(ret, err))
params
roomId:
- 类型: 字符串类型
- 描述: (必填项) 被邀约房间Id
roomName:
- 类型: 字符串类型
- 描述: (必填项) 被邀约主播Id
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.requestRoomPK({
roomId: 2,
userId: 'test002'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
responseRoomPK
主播响应跨房PK请求
responseRoomPK({params}, function(ret, err))
主播和主播之间可以跨房间 PK,两个正在直播中的主播 A 和 B 之间的跨房 PK 流程如下:
- 主播 A 使用 setRoomPKListener() 设置跨房PK监听回调,然后调用 requestRoomPK() 向 主播 B 发起连麦请求。
- 主播 B 会收到 setLiveRoomListener 的 onRequestRoomPK() 回调通知。
- 主播 B 调用 responseRoomPK() 决定是否接受主播 A 的 PK 请求。
- 主播 B 如果接受主播 A 的请求,等待 setLiveRoomListener 的 onAnchorEnter() 通知,然后调用 startPlay() 来显示主播 A 的视频画面。
- 主播 A 的 setRoomPKListener 会收到回调通知,该通知会携带来自主播 B 的处理结果。
- 主播 A 如果请求被同意,等待 setLiveRoomListener 的 onAnchorEnter() 通知,然后调用 startPlay() 显示主播 B 的视频画面。
params
userId:
- 类型: 字符串类型
- 描述: (必填项) 发起PK请求的主播Id
isAgree:
- 类型: 布尔类型
- 描述: (必填项) true表示同意,false表示拒绝
reason:
- 类型: 字符串类型
- 描述: (必填项) 同意/拒绝PK的原因描述
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.responseRoomPK({
userId: 'test002',
isAgree: true,
reason: 'This is a reason'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
quitRoomPK
退出跨房PK。PK 中的任何一个主播退出跨房 PK 状态后,另一个主播会收到 setLiveRoomListener 的 onQuitRoomPK 回调通知。
quitRoomPK({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.quitRoomPK({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
switchCamera
切换前后摄像头
switchCamera({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.switchCamera({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setMirror
设置是否镜像展示
setMirror({params}, function(ret, err))
params
isMirror:
- 类型: 布尔类型
- 描述: (必填项) true表示开启, false表示关闭镜像
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.setMirror({
isMirror: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
muteLocalAudio
静音本地音频
muteLocalAudio({params}, function(ret, err))
params
isMute:
- 类型: 布尔类型
- 描述: (必填项) true:开启静音;false:关闭静音
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.muteLocalAudio({
isMute: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
muteRemoteAudio
静音远端音频
muteRemoteAudio({params}, function(ret, err))
params
isMute:
- 类型: 布尔类型
- 描述: (必填项) true表示开启静音,false表示关闭静音
userId:
- 类型: 字符串类型
- 描述: (必填项) 远端的用户Id
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.muteRemoteAudio({
userId: 'test002',
isMute: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
muteAllRemoteAudio
静音远端音频
muteAllRemoteAudio({params}, function(ret, err))
params
isMute:
- 类型: 布尔类型
- 描述: (必填项) true表示开启静音,false表示关闭静音
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.muteAllRemoteAudio({
isMute: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
sendRoomTextMsg
在房间中广播文本消息
sendRoomTextMsg({params}, function(ret, err))
params
msg:
- 类型: 字符串类型
- 描述: (必填项) 文本消息
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.sendRoomTextMsg({
msg: 'Hello world'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
sendRoomCustomMsg
发送自定义文本消息
sendRoomCustomMsg({params}, function(ret, err))
params
cmd:
- 类型: 字符串类型
- 描述: (必填项) 命令字,由开发者自定义,主要用于区分不同消息类型
msg:
- 类型: 字符串类型
- 描述: (必填项) 文本消息
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
liveRoom.sendRoomCustomMsg({
cmd: 'CMD_LIKE',
msg: 'Hello world'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
事件回调
通用事件回调
onError
错误回调
说明:
SDK 不可恢复的错误,一定要监听,并分情况给用户适当的界面提示。
{
eventType: 'onError',
code: 11,
msg: 'this is a error msg'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
code:
- 类型: 整数类型
- 描述: 错误码
msg:
- 类型: 字符串类型
- 描述: 错误信息
onWarning
警告回调
{
eventType: 'onWarning',
code: 11,
msg: 'this is a error msg'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
code:
- 类型: 整数类型
- 描述: 错误码
msg:
- 类型: 字符串类型
- 描述: 错误信息
onDebugLog
Log 回调
{
eventType: 'onDebugLog',
log: 'xxxxx'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
log:
- 类型: 字符串类型
- 描述: 日志信息
房间事件回调
onRoomDestroy
房间被销毁的回调。主播退房时,房间内的所有用户都会收到此通知
{
eventType: 'onRoomDestroy',
roomId: 10
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
roomId:
- 类型: 整数类型
- 描述: 房间Id
onRoomInfoChange
房间被销毁的回调。主播退房时,房间内的所有用户都会收到此通知
{
eventType: 'onRoomInfoChange',
roomInfo: {
...
}
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
roomInfo:
- 类型: JSON类型
- 描述: 房间信息
- 字段详情: roomInfo
onRoomInfoChange
房间被销毁的回调。主播退房时,房间内的所有用户都会收到此通知
{
eventType: 'onRoomInfoChange',
roomInfo: {
...
}
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
roomInfo:
- 类型: JSON类型
- 描述: 房间信息
- 字段详情: roomInfo
主播和观众进出事件回调
onAnchorEnter
收到新主播进房通知。连麦观众和跨房 PK 主播进房后观众会收到新主播的进房事件,您可以调用 setLiveRoomListener 的 startPlay() 显示该主播的视频画面
{
eventType: 'onAnchorEnter',
userId: 'test001'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userId:
- 类型: 字符串类型
- 描述: 新进房用户Id
onAnchorExit
收到主播退房通知。房间内的主播(和连麦中的观众)会收到新主播的退房事件,您可以调用 TRTCLiveRoom 的 stopPlay() 关闭该主播的视频画面
{
eventType: 'onAnchorExit',
userId: 'test001'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userId:
- 类型: 字符串类型
- 描述: 新进房用户Id
onAudienceEnter
收到观众进房通知
{
eventType: 'onAudienceEnter',
userInfo: {
...
}
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userInfo:
- 类型: JSON对象
- 描述: 进房观众信息
- 字段详情: userInfo
onAudienceExit
收到观众进房通知
{
eventType: 'onAudienceExit',
userInfo: {
...
}
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userInfo:
- 类型: JSON对象
- 描述: 退房观众信息
- 字段详情: userInfo
主播和观众连麦事件回调
onRequestJoinAnchor
主播收到观众连麦请求时的回调
{
eventType: 'onRequestJoinAnchor',
userInfo: {
...
},
reason: 'This is a reason',
timeout: 10
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userInfo:
- 类型: JSON对象
- 描述: 退房观众信息
- 字段详情: userInfo
reason:
- 类型: 字符串类型
- 描述: 连麦原因描述
timeout:
- 类型: 浮点数类型
- 描述: 处理请求的超时时间
onKickoutJoinAnchor
主播收到观众连麦请求时的回调
{
eventType: 'onKickoutJoinAnchor'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
主播 PK 事件回调
onRequestRoomPK
收到请求跨房 PK 通知。主播收到其他房间主播的 PK 请求,如果同意 PK ,您需要等待 TRTCLiveRoomDelegate 的 onAnchorEnter() 通知,然后调用 startPlay() 来播放邀约主播的流
{
eventType: 'onRequestRoomPK',
userInfo: {
...
},
timeout: 10
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
userInfo:
- 类型: JSON对象
- 描述: 退房观众信息
- 字段详情: userInfo
timeout:
- 类型: 浮点数类型
- 描述: 处理请求的超时时间
onQuitRoomPK
收到请求跨房 PK 通知。主播收到其他房间主播的 PK 请求,如果同意 PK ,您需要等待 TRTCLiveRoomDelegate 的 onAnchorEnter() 通知,然后调用 startPlay() 来播放邀约主播的流
{
eventType: 'onQuitRoomPK'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
消息事件回调
onRecvRoomTextMsg
收到文本消息
{
eventType: 'onRecvRoomTextMsg',
fromUser: {
...
},
message: 'This is a message'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
fromUser:
- 类型: JSON对象
- 描述: 发送者用户信息
- 字段详情: userInfo
message:
- 类型: 字符串类型
- 描述: 文本消息
onRecvRoomCustomMsg
收到自定义消息
{
eventType: 'onRecvRoomCustomMsg',
fromUser: {
...
},
command: 'This is a cmd',
message: 'This is a message'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
fromUser:
- 类型: JSON对象
- 描述: 发送者用户信息
- 字段详情: userInfo
cmd:
- 类型: 字符串类型
- 描述: 命令字,由开发者自定义,主要用于区分不同消息类型
message:
- 类型: 字符串类型
- 描述: 文本消息
请求连麦事件回调
onSuccess
连麦成功
{
eventType: 'onSuccess',
reason: 'This is a reason'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
reason:
- 类型: 字符串类型
- 描述: 请求连麦成功信息
onFailure
连麦失败
{
eventType: 'onFailure',
reason: 'This is a reason'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
reason:
- 类型: 字符串类型
- 描述: 请求连麦失败信息
请求跨房PK事件回调
onSuccess
跨房PK成功
{
eventType: 'onSuccess',
reason: 'This is a reason'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
reason:
- 类型: 字符串类型
- 描述: 请求跨房PK成功信息
onFailure
跨房PK失败
{
eventType: 'onFailure',
reason: 'This is a reason'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
reason:
- 类型: 字符串类型
- 描述: 请求跨房PK失败信息
数据结构
roomInfo
房间信息
{
coverUrl: 'http://xxx.xxx.xxx/xxx.png',
memberCount: 5,
ownerId: 'test001',
ownerName: 'userName001',
roomId: 'room001'
roomName: 'roomName001',
roomStatus: 0,
streamUrl: 'streamId001'
}
coverUrl:
- 类型: 字符串类型
- 描述: 房间封面图
memberCount:
- 类型: 整数类型
- 描述: 房间人数
ownerId:
- 类型: 字符串类型
- 描述: 房主id
ownerName:
- 类型: 字符串类型
- 描述: 房主昵称
roomId:
- 类型: 字符串类型
- 描述: 房间唯一标识
roomName:
- 类型: 字符串类型
- 描述: 房间名称
roomStatus:
- 类型: 整数类型
- 描述: 房间状态
- 取值范围:
- 0: 无
- 1: 单人
- 2: 连麦
- 3: PK
streamUrl:
- 类型: 字符串类型
- 描述: cdn模式下的播放流地址
userInfo
房间信息
{
avatarUrl: 'http://xxx.xxx.xxx/xxx.png',
userId: 'test001',
userName: 'Lucy'
}
userId:
- 类型: 字符串类型
- 描述: 用户Id
userName:
- 类型: 字符串类型
- 描述: 用户昵称
avatarUrl:
- 类型: 字符串类型
- 描述: 用户头像
更多功能
- 背景音乐音效
- 美颜支持
获取内测功能和技术支持,请联系我们客户微信: ruanyunkeji006