API
模块
基础函数
登录/注销
透明通道
队列管理
呼叫
邀请
房间管理
进出房间
房间和成员管理
房间属性
用户属性
音频管理
视频管理
屏幕共享
本地录制/本地直播
云端录制/互动直播
接口详情
getSDKVersion
- 功能: 获取原生SDK版本号
- 返回值: SDK版本号
RTCSDK.getSDKVersion()
init
RTCSDK.init(initObj, initCallback)
参数 |
类型 |
说明 |
initObj |
object |
SDK配置、临时文件存放位置,不可为空InitObj |
initCallback |
function |
回调函数,参数1为错误码 |
uninit
RTCSDK.uninit()
setServerAddr
RTCSDK.setServerAddr(addr)
参数 |
类型 |
说明 |
addr |
string |
服务器地址(如:www.cloudroom.com) 或多个服务器地址串(如:www.cloudroom.com:8080;183.60.47.52:8080;) |
login
RTCSDK.login(LoginObj, cookie)
参数 |
类型 |
说明 |
LoginObj |
object |
登录配置 |
cookie |
string |
详细介绍见cookie |
登陆成功则回调 loginSuccess ,登陆失败则回调 loginFail
updateToken
RTCSDK.updateToken(token)
参数 |
类型 |
说明 |
token |
string |
Token鉴权码,详细介绍见关键词 |
logout
RTCSDK.logout()
退出程序时,必须注销本次登录,然后再进行SDK反初始化操作
getUserAuthErrCode
- 功能: 获取第三方鉴权失败码(只有在登录失败原因为17时有效)
- 返回值: 第三方返回的失败码(number)
RTCSDK.getUserAuthErrCode()
getUserAuthErrDesc
- 功能: 获取第三方鉴权失败原因描述(只有在登录失败原因为17时有效)
- 返回值: 第三方返回的描述串(string)
RTCSDK.getUserAuthErrDesc()
setDNDStatus
RTCSDK.setDNDStatus(DNDStatus, cookie)
参数 |
类型 |
说明 |
DNDStatus |
number |
0代表关闭免打扰, 其它值代表开启免打扰,含义自由定义 |
cookie |
string |
详细介绍见cookie |
设置结果请参见setDNDStatusSuccess/setDNDStatusFail;
开启免打扰后,他人呼叫本人时,系统自动回绝呼叫,错误码为602;
开启免打扰后,系统将不再自动为座席分配客户autoAssignUser,座席可以调用reqAssignUser来手动分配客户(叫号模式);
getUserStatus
- 功能: 获取本AppID下的登录用户的状态信息
- 返回值: 无
RTCSDK.getUserStatus(userID, cookie)
参数 |
类型 |
说明 |
userID |
string |
需要查询的UserID,不传或传空字符串代表获取AppId下所有用户状态信息 |
cookie |
string |
详细介绍见cookie |
结果请参见getUserStatusRslt
只返回在线用户状态信息,获取不到的代表未登录
startUserStatusNotify
- 功能: 开启AppID下的用户登录状态消息推送
- 返回值: 无
RTCSDK.startUserStatusNotify(cookie)
参数 |
类型 |
说明 |
cookie |
string |
详细介绍见cookie |
开启后他人状态变化将收到notifyUserStatus通知
开启结果请参见startStatusPushRslt
如果在线用户量很大时,将带来很大的开销请谨慎开启;
stopUserStatusNotify
- 功能: 关闭appID下的用户在线状态消息推送
- 返回值: 无
RTCSDK.stopUserStatusNotify(cookie)
参数 |
类型 |
说明 |
cookie |
string |
详细介绍见cookie |
结果请参见stopStatusPushRslt
loginSuccess
RTCSDK.on("loginSuccess", ({ userID, cookie }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
cookie |
string |
详细介绍见cookie |
loginFail
RTCSDK.on("loginFail", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
notifyTokenWillExpire
RTCSDK.on("notifyTokenWillExpire", () => {})
采用Token模式登录,才会收到此回调;
Token到期前30秒左右回调,应尽快调用updateToken将授权更久的Token设置给SDK;
lineOff
RTCSDK.on("lineOff", ({ sdkErr }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
setDNDStatusSuccess
RTCSDK.on("setDNDStatusSuccess", ({ cookie }) => {})
参数 |
类型 |
说明 |
cookie |
string |
详细介绍见cookie |
setDNDStatusFail
RTCSDK.on("setDNDStatusFail", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
getUserStatusRslt
RTCSDK.on("getUserStatusRslt", ({ sdkErr, userStatus, cookie }) => {})
startStatusPushRslt
RTCSDK.on("startStatusPushRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
stopStatusPushRslt
RTCSDK.on("stopStatusPushRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
notifyUserStatus
RTCSDK.on("notifyUserStatus", ({ uStatus }) => {})
sendCmd
- 功能: 发送小块数据(50K以内),此接口不能被cancelSend, 一次性发送,不会有进度通知
- 返回值: 任务ID(string)
RTCSDK.sendCmd(targetUserId, data)
参数 |
类型 |
说明 |
targetUserId |
string |
目标用户ID |
data |
string |
发送的数据(最大64KB) |
发送结果请参见sendCmdRslt
目标用户将收到通知notifyCmdData
房间内群发消息参见sendMeetingCustomMsg
sendBuffer
- 功能: 发送点对点大数据
- 返回值: 任务ID(string)
RTCSDK.sendBuffer(targetUserId, data)
参数 |
类型 |
说明 |
targetUserId |
string |
目标用户ID |
data |
string |
发送的数据(最大100MB) |
数据将被分块发送,发送进度参见notifySendProgress
取消发送参见cancelSend
结果请参见sendBufferRslt
目标用户将收到通知notifyBufferData
sendFile
- 功能: 发送点对点文件
- 返回值: 任务ID(string)
RTCSDK.sendFile(targetUserId, fileName)
参数 |
类型 |
说明 |
targetUserId |
string |
目标用户ID |
fileName |
string |
本地完整路径的文件名(文件内容最大100MB) |
数据将被分块发送,发送进度参见notifySendProgress
取消发送参见cancelSend
结果请参见sendFileRslt
目标用户将收到通知notifyFileData
cancelSend
RTCSDK.cancelSend(sendId)
只能取消sendBuffer、sendFile的任务
只有任务还未发送完成的才能被取消
是否成功取消,可关注cancelSendRslt回调
sendCmdRslt
RTCSDK.on("sendCmdRslt", ({ sendId, sdkErr }) => {})
sendBufferRslt
RTCSDK.on("sendBufferRslt", ({ sendId, sdkErr }) => {})
sendFileRslt
RTCSDK.on("sendFileRslt", ({ sendId, fileName, sdkErr }) => {})
cancelSendRslt
RTCSDK.on("cancelSendRslt", ({ sendId, sdkErr }) => {})
notifySendProgress
RTCSDK.on("notifySendProgress", ({ sendId, sendedLen, totalLen }) => {})
参数 |
类型 |
说明 |
sendId |
string |
任务ID,sendBuffer、sendFile的返回值 |
sendedLen |
number |
已发送的数据长度 |
totalLen |
number |
需要发送的总长度 |
notifyCmdData
RTCSDK.on("notifyCmdData", ({ sourceUserId, data }) => {})
参数 |
类型 |
说明 |
sourceUserId |
string |
发送者UserID |
data |
string |
数据的内容 |
notifyBufferData
RTCSDK.on("notifyBufferData", ({ sourceUserId, data }) => {})
参数 |
类型 |
说明 |
sourceUserId |
string |
发送者UserID |
data |
string |
数据的内容 |
notifyFileData
RTCSDK.on("notifyFileData", ({ sourceUserId, tmpFile, orgFileName }) => {})
参数 |
类型 |
说明 |
sourceUserId |
string |
发送者UserID |
tmpFile |
string |
临时文件,不需要时,请移除或删除对应文件 |
orgFileName |
string |
源始文件名 |
initQueue
RTCSDK.initQueue(cookie)
参数 |
类型 |
说明 |
cookie |
string |
详细介绍见cookie |
初始化队列结果请参见initQueueDatRslt;
队列初始化成功后才可进行其它队列操作;
getAllQueueInfo
- 功能: 获取AppID下的所有队列基础信息
- 返回值: 队列基础信息列表(Array<QueueInfo>)
RTCSDK.getAllQueueInfo()
getQueueStatus
RTCSDK.getQueueStatus(queID)
参数 |
类型 |
说明 |
queID |
number |
队列ID |
getQueuingInfo
RTCSDK.getQueuingInfo()
getServiceQueues
- 功能: 获取我服务的所有队列
- 返回值: 队列Id列表(Array<number>)
RTCSDK.getServiceQueues()
getSessionInfo
RTCSDK.getSessionInfo()
startQueuing
RTCSDK.startQueuing(queID, usrExtDat, cookie)
参数 |
类型 |
说明 |
queID |
number |
队列ID |
usrExtDat |
string |
扩展信息,分配给座席时,座席可以获取此参数 |
cookie |
string |
详细介绍见cookie |
客户同一时间,只能排一个队列;
排队结果请参见startQueuingRslt;
stopQueuing
RTCSDK.stopQueuing(cookie)
参数 |
类型 |
说明 |
cookie |
string |
详细介绍见cookie |
排队结果请参见stopQueuingRslt;
startService
RTCSDK.startService(queID, priority, cookie)
参数 |
类型 |
说明 |
queID |
number |
队列ID |
priority |
number |
坐席优先级 (缺省为0,取值为0~1000内整数。值越小优先级越高。0为最高优先级) |
cookie |
string |
详细介绍见cookie |
可以多次调用,开启对多个队列的服务;
开启服务结果请参见startServiceRslt;
开启成功后:
a. 如果没有开启免打扰setDNDStatus,那么系统会自动分配客户:autoAssignUser;
b. 如果开启免打挽,系统就不会分配客户,如需服务客户可调用:reqAssignUser;
座席优先级描述:
a. 客户优先分配给服务此队列优先级最高的,且空闲的座席;
b. 优先级相同时,则分配给最先空闲的座席;
c. 优先级高的座席变空闲时,不抢夺已分配的客户;
stopService
RTCSDK.stopService(queID, cookie)
参数 |
类型 |
说明 |
queID |
number |
队列ID |
cookie |
string |
详细介绍见cookie |
停止服务结果请参见stopServiceRslt;
reqAssignUser
RTCSDK.reqAssignUser(cookie)
参数 |
类型 |
说明 |
cookie |
string |
详细介绍见cookie |
开启免打扰后手动分配客户接口;(当关闭免打扰时,系统将自动分配客户,无需调用此接口)
分配结果请参见reqAssignUserRslt;
acceptAssignUser
RTCSDK.acceptAssignUser(queID, userID, cookie)
参数 |
类型 |
说明 |
queID |
number |
队列ID |
userID |
string |
用户ID, 详细介绍见关键词 |
cookie |
string |
详细介绍见cookie |
结果请参见responseAssignUserRslt;
rejectAssignUser
RTCSDK.rejectAssignUser(queID, userID, cookie)
参数 |
类型 |
说明 |
queID |
number |
队列ID |
userID |
string |
用户ID, 详细介绍见关键词 |
cookie |
string |
详细介绍见cookie |
结果请参见responseAssignUserRslt;
initQueueDatRslt
RTCSDK.on("initQueueDatRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
queueStatusChanged
RTCSDK.on("queueStatusChanged", ({ queStatus }) => {})
queuingInfoChanged
RTCSDK.on("queuingInfoChanged", ({ queuingInfo }) => {})
startQueuingRslt
RTCSDK.on("startQueuingRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
stopQueuingRslt
RTCSDK.on("stopQueuingRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
startServiceRslt
RTCSDK.on("startServiceRslt", ({ queID, sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
queID |
number |
队列ID |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
stopServiceRslt
RTCSDK.on("stopServiceRslt", ({ queID, sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
queID |
number |
队列ID |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
responseAssignUserRslt
RTCSDK.on("responseAssignUserRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
autoAssignUser
RTCSDK.on("autoAssignUser", ({ usr }) => {})
如果不需要系统的自动分配,请通setDNDStatus开启免打扰功能;
acceptAssignUser后,还需要调用call去呼叫对方进入目标房间;
收到系统分配的客户后,如果座席不acceptAssignUser也不rejectAssignUser,系统将在30秒后取消本次分配cancelAssignUser,然后将客户放回到队首
reqAssignUserRslt
RTCSDK.on("reqAssignUserRslt", ({ sdkErr, usr, cookie }) => {})
cancelAssignUser
RTCSDK.on("cancelAssignUser", ({ queID, userID }) => {})
参数 |
类型 |
说明 |
queID |
number |
队列ID |
userID |
string |
用户ID, 详细介绍见关键词 |
被取消的原因,可能是用户取消排队了,或者用户掉线了,或者收到autoAssignUser后没有及时acceptAssignUser / rejectAssignUser
call
- 功能: 发起呼叫
- 返回值: 呼叫ID(string)
RTCSDK.call(calledUserID, ID, usrExtDat, cookie)
参数 |
类型 |
说明 |
calledUserID |
string |
被叫用户ID |
ID |
number |
房间号 |
usrExtDat |
string |
扩展信息 |
cookie |
string |
详细介绍见cookie |
发起的呼叫结果参见callRslt;
呼叫时,对方迟迟不acceptCall / rejectCall,30秒后将超时而自动结束呼叫;
如果呼叫SIP/H.323设备, usrExtDat可以指定为:
{"devInfo":{"autoOpenMic":0}};
其中 devInfo 可参考 CRDevJoinCfg
acceptCall
RTCSDK.acceptCall(callID, ID, usrExtDat, cookie)
参数 |
类型 |
说明 |
callID |
string |
呼叫ID, 参见call / callMoreParty返回值 |
ID |
number |
房间号 |
usrExtDat |
string |
扩展信息 |
cookie |
string |
详细介绍见cookie |
接受结果参见acceptCallRslt
rejectCall
RTCSDK.rejectCall(callID, usrExtDat, cookie)
接受结果参见rejectCallRslt
hangupCall
RTCSDK.hangupCall(callID, usrExtDat, cookie)
挂断结果参见hangupCallRslt
callMoreParty
- 功能: 发起多方呼叫(或呼转)
- 返回值: 呼叫ID(string)
RTCSDK.callMoreParty(calledUserID, ID, usrExtDat, cookie)
参数 |
类型 |
说明 |
calledUserID |
string |
被叫用户ID |
ID |
number |
房间号 |
usrExtDat |
string |
扩展信息 |
cookie |
string |
详细介绍见cookie |
呼叫结果参见callMorePartyRslt;
呼转实现思路: A、B通话已建立(假设callID为IdAB),B想由C来服务A,B callMoreParty C(假设callID为IdBC), 在C接受进入通话后,A便可挂断IdAB通话并离开房间。
cancelCallMoreParty
RTCSDK.cancelCallMoreParty(callID, usrExtDat, cookie)
取消结果参见cancelCallMorePartyRslt;
callRslt
RTCSDK.on("callRslt", ({ callID, sdkErr, cookie }) => {})
acceptCallRslt
RTCSDK.on("acceptCallRslt", ({ callID, sdkErr, cookie }) => {})
rejectCallRslt
RTCSDK.on("rejectCallRslt", ({ callID, sdkErr, cookie }) => {})
hangupCallRslt
RTCSDK.on("hangupCallRslt", ({ callID, sdkErr, cookie }) => {})
notifyCallIn
RTCSDK.on("notifyCallIn", ({ callID, ID, callerID, usrExtDat }) => {})
参数 |
类型 |
说明 |
callID |
string |
呼叫ID, 参见call / callMoreParty返回值 |
ID |
number |
房间号 |
callerID |
string |
主叫用户ID |
usrExtDat |
string |
扩展信息 |
notifyCallAccepted
RTCSDK.on("notifyCallAccepted", ({ callID, ID, usrExtDat }) => {})
参数 |
类型 |
说明 |
callID |
string |
呼叫ID, 参见call / callMoreParty返回值 |
ID |
number |
房间号 |
usrExtDat |
string |
扩展信息 |
notifyCallRejected
RTCSDK.on("notifyCallRejected", ({ callID, sdkErr, usrExtDat }) => {})
notifyCallHungup
RTCSDK.on("notifyCallHungup", ({ callID, usrExtDat }) => {})
callMorePartyRslt
RTCSDK.on("callMorePartyRslt", ({ callID, sdkErr, cookie }) => {})
cancelCallMorePartyRslt
RTCSDK.on("cancelCallMorePartyRslt", ({ callID, sdkErr, cookie }) => {})
notifyCallMorePartyStatus
RTCSDK.on("notifyCallMorePartyStatus", ({ callID, sdkErr, status }) => {})
invite
- 功能: 发送邀请
- 返回值: 邀请ID(string)
RTCSDK.invite(invitedUserID, usrExtDat, cookie)
参数 |
类型 |
说明 |
invitedUserID |
string |
邀请的用户ID |
usrExtDat |
string |
扩展信息 |
cookie |
string |
详细介绍见cookie |
邀请结果参见inviteRslt;
acceptInvite
RTCSDK.acceptInvite(inviteID, usrExtDat, cookie)
参数 |
类型 |
说明 |
inviteID |
string |
邀请ID,参见invite返回值 |
usrExtDat |
string |
扩展信息 |
cookie |
string |
详细介绍见cookie |
接受结果参见acceptInviteRslt;
rejectInvite
RTCSDK.rejectInvite(inviteID, usrExtDat, cookie)
参数 |
类型 |
说明 |
inviteID |
string |
邀请ID,参见invite返回值 |
usrExtDat |
string |
扩展信息 |
cookie |
string |
详细介绍见cookie |
拒接结果参见rejectInviteRslt;
cancelInvite
RTCSDK.cancelInvite(inviteID, usrExtDat, cookie)
参数 |
类型 |
说明 |
inviteID |
string |
邀请ID,参见invite返回值 |
usrExtDat |
string |
扩展信息 |
cookie |
string |
详细介绍见cookie |
取消结果参见cancelInviteRslt;
inviteRslt
RTCSDK.on("inviteRslt", ({ inviteID, sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
inviteID |
string |
邀请ID,参见invite返回值 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
acceptInviteRslt
RTCSDK.on("acceptInviteRslt", ({ inviteID, sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
inviteID |
string |
邀请ID,参见invite返回值 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
rejectInviteRslt
RTCSDK.on("rejectInviteRslt", ({ inviteID, sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
inviteID |
string |
邀请ID,参见invite返回值 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
cancelInviteRslt
RTCSDK.on("cancelInviteRslt", ({ inviteID, sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
inviteID |
string |
邀请ID,参见invite返回值 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
notifyInviteIn
RTCSDK.on("notifyInviteIn", ({ inviteID, inviterUsrID, usrExtDat }) => {})
参数 |
类型 |
说明 |
inviteID |
string |
邀请ID,参见invite返回值 |
inviterUsrID |
string |
邀请人ID |
usrExtDat |
string |
扩展信息 |
notifyInviteAccepted
RTCSDK.on("notifyInviteAccepted", ({ inviteID, usrExtDat }) => {})
参数 |
类型 |
说明 |
inviteID |
string |
邀请ID,参见invite返回值 |
usrExtDat |
string |
扩展信息 |
notifyInviteRejected
RTCSDK.on("notifyInviteRejected", ({ inviteID, sdkErr, usrExtDat }) => {})
参数 |
类型 |
说明 |
inviteID |
string |
邀请ID,参见invite返回值 |
sdkErr |
number |
错误码,详细见错误码定义 |
usrExtDat |
string |
扩展信息 |
notifyInviteCanceled
RTCSDK.on("notifyInviteCanceled", ({ inviteID, sdkErr, usrExtDat }) => {})
参数 |
类型 |
说明 |
inviteID |
string |
邀请ID,参见invite返回值 |
sdkErr |
number |
错误码,详细见错误码定义 |
usrExtDat |
string |
扩展信息 |
createMeeting
RTCSDK.createMeeting(cookie)
参数 |
类型 |
说明 |
cookie |
string |
详细介绍见cookie |
操作成功则回调createMeetingSuccess,失败则回调createMeetingFail
destroyMeeting
RTCSDK.destroyMeeting(ID, cookie)
参数 |
类型 |
说明 |
ID |
number |
房间号 |
cookie |
string |
详细介绍见cookie |
回调函数destroyMeetingRslt
createMeetingSuccess
RTCSDK.on("createMeetingSuccess", ({ ID, cookie }) => {})
参数 |
类型 |
说明 |
ID |
number |
房间号 |
cookie |
string |
详细介绍见cookie |
createMeetingFail
RTCSDK.on("createMeetingFail", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
destroyMeetingRslt
RTCSDK.on("destroyMeetingRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
enterMeeting
RTCSDK.enterMeeting(ID)
操作完成则回调enterMeetingRslt
exitMeeting
RTCSDK.exitMeeting()
kickout
RTCSDK.kickout(userID)
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
enterMeetingRslt
RTCSDK.on("enterMeetingRslt", ({ sdkErr }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
userEnterMeeting
RTCSDK.on("userEnterMeeting", ({ userID }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
userLeftMeeting
RTCSDK.on("userLeftMeeting", ({ userID }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
kickoutRslt
RTCSDK.on("kickoutRslt", ({ sdkErr, userID }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
userID |
string |
用户ID, 详细介绍见关键词 |
meetingDropped
RTCSDK.on("meetingDropped", ({ reason }) => {})
meetingStopped
RTCSDK.on("meetingStopped", () => {})
getAllMembers
- 功能: 获取房间所有成员信息列表
- 返回值: 返回含多个成员信息(Array ------MemberInfo)
RTCSDK.getAllMembers()
getMemberInfo
RTCSDK.getMemberInfo(userID)
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
sendMeetingCustomMsg
RTCSDK.sendMeetingCustomMsg(msg, cookie)
参数 |
类型 |
说明 |
msg |
string |
发送的文本 |
cookie |
string |
详细介绍见cookie |
需要进进入房间议后才能调用
notifyNickNameChanged
RTCSDK.on("notifyNickNameChanged", ({ userID, oldName, newName }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
oldName |
string |
改变之前的昵称 |
newName |
string |
改变之后的昵称 |
改昵称的用户自身不会接收到此通知
sendMeetingCustomMsgRslt
RTCSDK.on("sendMeetingCustomMsgRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
notifyMeetingCustomMsg
RTCSDK.on("notifyMeetingCustomMsg", ({ fromUserID, text }) => {})
参数 |
类型 |
说明 |
fromUserID |
string |
房间内广播消息的发送者的用户id |
text |
string |
广播内容 |
netStateChanged
RTCSDK.on("netStateChanged", ({ level }) => {})
参数 |
类型 |
说明 |
level |
number |
网络状况等级(0~10,10分为最佳网络) |
getMeetingAllAttrs
RTCSDK.getMeetingAllAttrs(cookie)
参数 |
类型 |
说明 |
cookie |
string |
详细介绍见cookie |
获取结果请参见:getMeetingAllAttrsSuccess 或 getMeetingAllAttrsFail
getMeetingAttrs
RTCSDK.getMeetingAttrs(keys, cookie)
参数 |
类型 |
说明 |
keys |
Array<string> |
需要查询的房间属性key,如:["key1", "key2"] |
cookie |
string |
详细介绍见cookie |
获取结果请参见:getMeetingAttrsSuccess 或 getMeetingAttrsFail
setMeetingAttrs
RTCSDK.setMeetingAttrs(attrs, options, cookie)
参数 |
类型 |
说明 |
attrs |
object |
房间属性集,如:{"key1":"value1", "key2":"value2"} (key最大长度为64B,value最大长度为8KB) |
options |
object |
操作选项,参见CRAttrOptions |
cookie |
string |
详细介绍见cookie |
设置结果请参见:setMeetingAttrsRslt
addOrUpdateMeetingAttrs
RTCSDK.addOrUpdateMeetingAttrs(attrs, options, cookie)
参数 |
类型 |
说明 |
attrs |
object |
房间属性集,如:{"key1":"value1", "key2":"value2"} (key最大长度为64B,value最大长度为8KB) |
options |
object |
操作选项,参见CRAttrOptions |
cookie |
string |
详细介绍见cookie |
结果请参见:addOrUpdateMeetingAttrsRslt
delMeetingAttrs
RTCSDK.delMeetingAttrs(keys, options, cookie)
参数 |
类型 |
说明 |
keys |
Array<string> |
需要删除的房间属性key,如:["key1", "key2"] |
options |
object |
操作选项,参见CRAttrOptions |
cookie |
string |
详细介绍见cookie |
结果请参见:delMeetingAttrsRslt
clearMeetingAttrs
RTCSDK.clearMeetingAttrs(options, cookie)
结果请参见:clearMeetingAttrsRslt
RTCSDK.on("getMeetingAllAttrsSuccess", ({ attrSeq, cookie }) => {})
getMeetingAllAttrsFail
RTCSDK.on("getMeetingAllAttrsFail", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
RTCSDK.on("getMeetingAttrsSuccess", ({ attrSeq, cookie }) => {})
getMeetingAttrsFail
RTCSDK.on("getMeetingAttrsFail", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
setMeetingAttrsRslt
RTCSDK.on("setMeetingAttrsRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
addOrUpdateMeetingAttrsRslt
RTCSDK.on("addOrUpdateMeetingAttrsRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
delMeetingAttrsRslt
RTCSDK.on("delMeetingAttrsRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
clearMeetingAttrsRslt
RTCSDK.on("clearMeetingAttrsRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
notifyMeetingAttrsChanged
RTCSDK.on("notifyMeetingAttrsChanged", ({ add, updates, delKeys }) => {})
参数 |
类型 |
说明 |
add |
object |
增加房间属性集,结构体请参见CRAttrObjs |
updates |
object |
变化的用户属性集,结构体请参见CRAttrObjs |
delKeys |
Array<string> |
被删除的用户属性列表,如:["key1", "key2"] |
getUserAttrs
RTCSDK.getUserAttrs(userIDs, keys, cookie)
参数 |
类型 |
说明 |
userIDs |
Array<string> |
目标用户id列表,一次最多包含50个用户, 如:["uid1","uid2"] |
keys |
Array<string> |
将要获取的用户属性key列表(空串代表获取全部),如:["key1","key2"] |
cookie |
string |
详细介绍见cookie |
结果请参见:getUserAttrsSuccess 或 getUserAttrsFail
setUserAttrs
RTCSDK.setUserAttrs(userID, attrs, options, cookie)
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
attrs |
object |
用户属性集, 如:{"key1":"value1", "key2":"value2"} (key最大长度为64B,value最大长度为8KB) |
options |
object |
操作选项,参见CRAttrOptions |
cookie |
string |
详细介绍见cookie |
结果请参见:setUserAttrsRslt
addOrUpdateUserAttrs
RTCSDK.addOrUpdateUserAttrs(userID, attrs, options, cookie)
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
attrs |
object |
用户属性集, 如:{"key1":"value1", "key2":"value2"} (key最大长度为64B,value最大长度为8KB) |
options |
object |
操作选项,参见CRAttrOptions |
cookie |
string |
详细介绍见cookie |
结果请参见:addOrUpdateUserAttrsRslt
delUserAttrs
RTCSDK.delUserAttrs(userID, keys, options, cookie)
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
keys |
Array<string> |
需要删除的用户属性key列表,如:["key1","key2"] |
options |
object |
操作选项,参见CRAttrOptions |
cookie |
string |
详细介绍见cookie |
结果请参见:delUserAttrsRslt
clearUserAttrs
RTCSDK.clearUserAttrs(userID, options, cookie)
结果请参见:clearUserAttrsRslt
clearAllUserAttrs
RTCSDK.clearAllUserAttrs(options, cookie)
结果请参见:clearAllUserAttrsRslt
RTCSDK.on("getUserAttrsSuccess", ({ attrMap, cookie }) => {})
getUserAttrsFail
RTCSDK.on("getUserAttrsFail", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
setUserAttrsRslt
RTCSDK.on("setUserAttrsRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
addOrUpdateUserAttrsRslt
RTCSDK.on("addOrUpdateUserAttrsRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
delUserAttrsRslt
RTCSDK.on("delUserAttrsRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
clearUserAttrsRslt
RTCSDK.on("clearUserAttrsRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
clearAllUserAttrsRslt
RTCSDK.on("clearAllUserAttrsRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
notifyUserAttrsChanged
RTCSDK.on("notifyUserAttrsChanged", ({ userID, add, updates, delKeys }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
add |
object |
增加的用户属性集,结构体请参见CRUsrAttrObjs |
updates |
object |
变化的用户属性集,结构体请参见CRUsrAttrObjs |
delKeys |
Array<string> |
被删除的用户属性列表,格式如:["key1", "key2"] |
openMic
RTCSDK.openMic(userID)
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
打开自已的麦克风时,先会进入到AOPENING状态,等服务器处理后才会进入AOPEN状态,此时说话才能被采集到。回调函数audioStatusChanged
closeMic
RTCSDK.closeMic(userID)
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
关麦操作是立即生效的,本地会立即停止采集。回调函数audioStatusChanged
setAllAudioClose
RTCSDK.setAllAudioClose()
关闭所有用户的麦克风(自己除外) , 调用此接口后会话内其他人的麦克风会关闭,同时收到消息audioStatusChanged
getAudioCfg
RTCSDK.getAudioCfg()
setAudioCfg
RTCSDK.setAudioCfg(AudioCfg)
参数 |
类型 |
说明 |
AudioCfg |
object |
音频配置,参见AudioCfg |
注意:成功进入房间后,才可以设置音频属性。
getSpeakerVolume
- 功能: 获取本地扬声器音量
- 返回值: 本地扬声器音量(number),音量等级类型 0-255
RTCSDK.getSpeakerVolume()
setSpeakerVolume
RTCSDK.setSpeakerVolume(level)
参数 |
类型 |
说明 |
level |
number |
本地扬声器音量,取值:0-255 |
getSpeakerOut
- 功能: 获取当前是否外放
- 返回值: Boolean
RTCSDK.getSpeakerOut()
setSpeakerOut
RTCSDK.setSpeakerOut(speakerOut)
参数 |
类型 |
说明 |
speakerOut |
boolean |
是否外放 |
startGetAudioPCM
RTCSDK.startGetAudioPCM(aSide, getType, jsonParam)
参数 |
类型 |
说明 |
aSide |
number |
声道类型 0:麦克风,1:扬声器 |
getType |
number |
获取方式 0:回调方式,1:保存为文件 |
jsonParam |
string |
当getType=0 表示回调方式,jsonParam可配置回调的数据大小(320-32000),如: {"EachSize":320}; 当getType=1 表示保存为文件,jsonParam可配置文件名,如: { "FileName" : "/sdcard/test.pcm" } |
stopGetAudioPCM
RTCSDK.stopGetAudioPCM(aSide)
参数 |
类型 |
说明 |
aSide |
number |
声道类型 0:麦克风,1:扬声器 |
audioStatusChanged
RTCSDK.on("audioStatusChanged", ({ userID, oldStatus, newStatus }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
oldStatus |
number |
旧状态,参考麦克风状态 |
newStatus |
number |
新状态,参考麦克风状态 |
micEnergyUpdate
RTCSDK.on("micEnergyUpdate", ({ userID, oldLevel, newLevel }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
oldLevel |
number |
原来的说话声音强度等级,0-10 |
newLevel |
number |
现在的说话声音强度等级,0-10 |
notifyAudioPCMData
RTCSDK.on("notifyAudioPCMData", ({ aSide, audioDat }) => {})
参数 |
类型 |
说明 |
aSide |
number |
声道类型 0:麦克风,1:扬声器 |
audioDat |
array |
PCM数据 |
openVideo
RTCSDK.openVideo(userID)
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
closeVideo
RTCSDK.closeVideo(userID)
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
getMyVideoPosition
RTCSDK.getMyVideoPosition()
getVideoCfg
RTCSDK.getVideoCfg()
setVideoCfg
RTCSDK.setVideoCfg(VideoCfg)
参数 |
类型 |
说明 |
VideoCfg |
object |
摄像头参数,参见VideoCfg |
getVideoEffects
RTCSDK.getVideoEffects()
该接口仅安卓可用
setVideoEffects
RTCSDK.setVideoEffects(VideoEffects)
该接口仅安卓可用
getDefaultVideo
- 功能: 获取指定用户的默认摄像头
- 返回值: 摄像头ID
RTCSDK.getDefaultVideo(userID)
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
setDefaultVideo
RTCSDK.setDefaultVideo(userID, videoID)
getLocVideoAttributes
RTCSDK.getLocVideoAttributes(videoID)
参数 |
类型 |
说明 |
videoID |
number |
本地摄像头ID |
setLocVideoAttributes
RTCSDK.setLocVideoAttributes(videoID, attributes)
getWatchableVideos
- 功能: 获取房间内所有可观看的摄像头
- 返回值: 房间内所有可观看的摄像头列表,数据类型为: <UsrVideoId>[]
RTCSDK.getWatchableVideos()
getAllVideoInfo
- 功能: 获取用户的所有摄像头信息(包含未开启的摄像头)
- 返回值: 用户的所有摄像头信息列表,数据类型为: VideoInfosObj
RTCSDK.getAllVideoInfo(userID)
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
videoStatusChanged
RTCSDK.on("videoStatusChanged", ({ userID, oldStatus, newStatus }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
oldStatus |
number |
旧状态,参考摄像头状态 |
newStatus |
number |
新状态,参考摄像头状态 |
openVideoRslt
RTCSDK.on("openVideoRslt", ({ deviceID, success }) => {})
参数 |
类型 |
说明 |
deviceID |
string |
摄像头设备ID |
success |
boolean |
是否成功 |
videoDevChanged
RTCSDK.on("videoDevChanged", ({ userID }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
RTCSDK.getMediaCfg()
RTCSDK.setMediaCfg(VideoCfg)
参数 |
类型 |
说明 |
VideoCfg |
object |
影音共享配置参数,参见VideoCfg |
RTCSDK.startPlayMedia(filename, bLocPlay)
参数 |
类型 |
说明 |
filename |
string |
文件名,全路径 |
bLocPlay |
number |
播放模式:0:房间内播放(默认值) 1:本地播放 |
RTCSDK.pausePlayMedia(isPause)
参数 |
类型 |
说明 |
isPause |
boolean |
是否暂停 |
RTCSDK.stopPlayMedia()
回调函数notifyMediaStop
RTCSDK.setMediaPlayPos(pos)
参数 |
类型 |
说明 |
pos |
number |
设置播放位置,单位:毫秒 |
RTCSDK.getMediaInfo()
RTCSDK.on("notifyMediaOpened", ({ totalTime, width, height }) => {})
参数 |
类型 |
说明 |
totalTime |
number |
影音时长(毫秒) |
width |
number |
视频宽 |
height |
number |
视频高 |
收到该通知即可渲染媒体共享组件
RTCSDK.on("notifyMediaStart", ({ userID }) => {})
参数 |
类型 |
说明 |
userID |
string |
开启影音共享用户的userID |
收到该通知即可渲染媒体共享组件
RTCSDK.on("notifyMediaPause", ({ userID, pause }) => {})
参数 |
类型 |
说明 |
userID |
string |
开启屏幕共享用户的userID |
pause |
boolean |
是否暂停状态 |
RTCSDK.on("notifyMediaStop", ({ userID, reason }) => {})
参数 |
类型 |
说明 |
userID |
string |
开启屏幕共享用户的userID |
reason |
number |
播放停止原因,数值参考reason |
收到该通知即可销毁媒体共享组件
getScreenShareCfg
RTCSDK.getScreenShareCfg()
setScreenShareCfg
RTCSDK.setScreenShareCfg(ScreenShareCfg)
startScreenShare
RTCSDK.startScreenShare(ScreenMessageCfg)
回调函数startScreenShareRslt
屏幕共享需要相应授权,否则无法进行屏幕共享。参考配置
stopScreenShare
RTCSDK.stopScreenShare()
回调函数stopScreenShareRslt
startScreenShareRslt
RTCSDK.on("startScreenShareRslt", ({ sdkErr }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
stopScreenShareRslt
RTCSDK.on("stopScreenShareRslt", ({ sdkErr }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
notifyScreenShareStarted
RTCSDK.on("notifyScreenShareStarted", ({ sharerID }) => {})
参数 |
类型 |
说明 |
sharerID |
string |
开启者的userID |
收到该通知即可渲染屏幕共享组件
notifyScreenShareStopped
RTCSDK.on("notifyScreenShareStopped", ({ oprUserID }) => {})
参数 |
类型 |
说明 |
oprUserID |
string |
操作者的userID |
notifyScreenMarkStarted
RTCSDK.on("notifyScreenMarkStarted", () => {})
notifyScreenMarkStopped
RTCSDK.on("notifyScreenMarkStopped", () => {})
createLocMixer
RTCSDK.createLocMixer(mixerID, mixerCfg, mixerContents)
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
mixerCfg |
object |
混图器规格配置,MixerCfg |
mixerContents |
array |
混图器内容配置,Array<MixerCotent> |
创建本地混图器(用于本地录制、本地推流),当需要多个不同内容的录制、或直播时,就要创建多个混图器 。混图器开消比较大,多个同样图像的输出应该有一个混图器加上多个输出实现;
updateLocMixerContent
RTCSDK.updateLocMixerContent(mixerID, mixerContents)
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
mixerContents |
array |
混图器内容配置,Array<MixerCotent> |
destroyLocMixer
RTCSDK.destroyLocMixer(mixerID)
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
消毁本地混图器后, 基于此混图器的录制输出、直播推流输出将自动结束
getLocMixerState
RTCSDK.getLocMixerState(mixerID)
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
addLocMixerOutput
- 功能: 开启本地录制、开启直播推流
- 返回值: 错误码
RTCSDK.addLocMixerOutput(mixerID, MixerOutPutCfgs)
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
MixerOutPutCfgs |
Array<MixerOutPutCfg> |
本地输出对象 |
rmLocMixerOutput
RTCSDK.rmLocMixerOutput(mixerID, nameOrUrls)
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
nameOrUrls |
Array<String> |
要停止的录制文件名或直播url列表 |
所有输出停止后并不会消毁混图器,如果混图器不再需要请手工消毁
setPicResource
RTCSDK.setPicResource(resId, picPath)
参数 |
类型 |
说明 |
resId |
string |
资源唯一标识 |
picPath |
string |
资源文件路径,为空代表移除资源 |
locMixerStateChanged
RTCSDK.on("locMixerStateChanged", ({ mixerID, state }) => {})
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
state |
number |
混图器状态 |
locMixerOutputInfo
RTCSDK.on("locMixerOutputInfo", ({ mixerID, nameOrUrl, outputInfo }) => {})
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
nameOrUrl |
string |
录像名称、或直播url |
outputInfo |
object |
通知内容,参见MixerOutputInfo |
notifyRecordFileStateChanged
RTCSDK.on("notifyRecordFileStateChanged", ({ fileName, state }) => {})
参数 |
类型 |
说明 |
fileName |
string |
文件名 |
state |
number |
状态,0未上传,1上传中,2已上传,3上传失败 |
notifyRecordFileUploadProgress
RTCSDK.on("notifyRecordFileUploadProgress", ({ fileName, percent }) => {})
参数 |
类型 |
说明 |
fileName |
string |
文件名 |
percent |
number |
进度0-100 |
createCloudMixer
- 功能: 开始云端录制、云端直播
- 返回值: 云端混图器ID
RTCSDK.createCloudMixer(cfg)
可以开启多个云端混图器,具体个数和企业购买的授权相关;
开启云端混图器后,房间内所有人都将收到cloudMixerStateChanged通知状态值为1;
云端混图器部署有少量耗时,如果在部署过程遇到异常,将收到createCloudMixerFailed回调;
云端混图器启动完成并进入录制或推流状态时,将收到cloudMixerStateChanged通知状态值为2;
开启云端混图器在进入工作中的状态后,可以通过updateCloudMixerContent更新内容;
混图器如果在工作中遇到异常而停止时,将收到cloudMixerStateChanged通知,状态值为0,并携带错误原因;
updateCloudMixerContent
- 功能: 更新云端录制、云端直播内容
- 返回值: 错误码
RTCSDK.updateCloudMixerContent(mixerID, cfg)
更新混图器内容时,只能更新内容和布局,不能更改混图器规格、输出目标;
更新混图器内容时,房间内所有人都将收到cloudMixerInfoChanged通知;
destroyCloudMixer
RTCSDK.destroyCloudMixer(mixerID)
getCloudMixerInfo
RTCSDK.getCloudMixerInfo(mixerID)
getAllCloudMixerInfo
RTCSDK.getAllCloudMixerInfo()
createCloudMixerFailed
RTCSDK.on("createCloudMixerFailed", ({ mixerID, sdkErr }) => {})
cloudMixerStateChanged
RTCSDK.on("cloudMixerStateChanged", ({ mixerID, state, exParam, operUserID }) => {})
cloudMixerOutputInfoChanged
RTCSDK.on("cloudMixerOutputInfoChanged", ({ mixerID, outputInfo }) => {})
cloudMixerInfoChanged
RTCSDK.on("cloudMixerInfoChanged", ({ mixerID }) => {})
可调用:getCloudMixerInfo获取相关信息