进出房间和房间信息
最近更新时间:2022-01-25 14:46:23 星期二
关于进房间的简要概述
-
使用token方式加入房间:
必须在参数 roomParams 中加入 tkToken,tkPrivilegeExpiredTs 字段, 并且该接口需要的信息必须与生成 token 时使用的信息一致。 关于如何生成Token请查看相关文档。
-
使用authKey方式加入房间:
参数 roomParams 中 无需添加 tkToken,tkPrivilegeExpiredTs 字段。
-
关于房间ID:
普通房间:需要优先在后台 创建房间,获取到房间ID后,调用 joinRoom 进房间。 即时房间:无需优先在后台创建房间,可直接调用 joinRoomEx 接口,传入房间ID,即可进入房间。 注意:token 方式进房间时,房间ID必须与生成的 token 时使用的房间ID信息一致。
-
关于用户ID问题:
roomParams 若传入了用户ID,SDK会使用传入的userId,若不传入用户ID, SDK会自动生成一个userId。 注意:token 方式进房间时,用户ID必须与生成的 token 时使用的用户ID信息一致。
-
关于进房间的流程及回调:
- 调用joinroom接口后,sdk就进入了 进房间流程 :
- checkroom:检测房间, 检查 房间ID、用户密码 等信息。成功后可以获取该房间基础信息和用户基础信息;
- configroom:房间配置, 成功后获取房间链路IP地址和文档服务器地址;
- connectsocket:链接socket, 根据获取到的链路IP地址去链接socket;
- joinroom:进房间, socket成功后,开始进入房间,并返回房间信息(包括房间人数、房间消息、已发布的流信息等)。
- 回调 :
- 流程回调:此过程中用户会收到 - onError(int errorCode, String errMsg) 或者 - onWarning(int warning) 的代理回调。根据在代理回调中返回的警告码或者错误码,可以了解到各个流程是成功或者失败。
- joinroom回调:成功进入房间后,有 - (void)onRoomJoined 回调
joinRoom
简要描述 - 加入普通房间接口
需要优先在后台 创建房间,获取到房间ID后,调用此接口进入房间。
接口名称
1 |
|
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
roomParams | 是 | RroomParams | 房间所需的基本参数,Map类型,key值详情见 相关扩展字段 相关joinRoom定义 |
方法示例 authKey方式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
返回值说明
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
joinRoomEx
简要描述 - 加入即时房间
接口名称
1 2 3 |
|
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
roomId | 是 | String | 房间ID |
nickname | 是 | String | 昵称 |
third_uid | 是 | String | 用户ID |
roomParams | 否 | Map |
房间自定义参数,Map类型,key值详情见 相关扩展字段 相关定义 |
userParams | 否 | Map |
自定义用户的初始化的信息,该信息会保存到 RoomUser 对象的 properties 属性中,可根据自身需求自定义。 |
方法示例 authKey方式:
1 2 3 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
leaveRoom
简要描述 - 退出教室
调用接口后,我和房间其他用户会收到相应的 回调。 1、我会接收到自己离开房间的回调:- (void)onRoomLeaved。 2、在房间其他用户收到我离开房间的回调:- (void)onUserLeft(RoomUser user)。
接口名称
- - (int)leaveRoom()
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
无 |
方法示例
1 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
getRoomProperties
简要描述 - 获取房间属性
需在调用 joinroom 接口后调用才能获取有效结果。 返回房间相关的所有信息,例如房间ID、房间类型、配置项等。 配置项:表示该房间是否开启了教学辅助功能,例如自动下课、答题器等等教学互动功能。
接口名称
- - JSONObject getRoomProperties();
方法示例
1 |
|
类型 | 说明 |
---|---|
JSONObject | 房间相关信息的字典 |
getUser
简要描述 - 根据用户ID获取用户
RoomUser 是用户对象类,存储了用户的相关信息。 需在调用 joinroom 接口后调用才能获取有效结果。
接口名称
- - RoomUser getUser(String peerId)
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
peerId | 是 | String | 用户ID |
方法示例
1 |
|
类型 | 说明 |
---|---|
RoomUser | 如果房间中有这个用户ID的用户,则返回 RoomUser的用户对象,否则返回 null |
getServiceList
简要描述 - 获取服务器列表
可用于切换链接的服务器。 需在调用 joinroom 接口后调用才能获取有效结果。
接口名称
- - getServiceList(TKRoomManagerObserver.OnGetServerListener listener)
方法示例
1 |
|
类型 | 说明 |
---|---|
onResult(List |
若存在可用的服务器,则返回 List |
getStreamStatus
简要描述 - 获取用户的上行音视频统计信息数据
获取某一用户的上行音视频网络统计数据,包括丢包、延迟、带宽等统计信息。 需在调用 joinroom 接口后调用才能获取有效结果。 调用成功后,收到成功的回调函数:- (void)onGetStreamStatus(int errorCode, JSONObject streamStates)。
接口名称
- - (void)getStreamStatus(String[] userIds)
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
peerId | 是 | String[] | 用户ID数组 |
方法示例
1 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |