TUIRoomEngine
Copyright (c) 2024 Tencent. All rights reserved.
Module:   TUIRoomEngine @ TUIKitEngine
Function: TUIRoomEngine 主功能接口
Version: 3.2
TUIRoomEngine
TUIRoomEngine
| 函数列表 | 描述 | 
| 获取 TUIRoomEngine 单例实例。 | |
| 销毁 TUIRoomEngine 单例实例。 | |
| 登录接口,初始化用户信息后才能进入房间并进行操作。 | |
| 退出登录接口,释放资源并离开房间。 | |
| 设置本地用户名称和头像。 | |
| 获取本地用户登录的基本信息。 | |
| 设置当前登录用户的详细信息。 | |
| 设置事件回调。 | |
| 移除事件回调。 | |
| 创建房间。 | |
| 解散房间。 | |
| 进入房间。 | |
| 进入房间。 | |
| 进入房间。 | |
| 离开房间。 | |
| 获取当前进入的房间信息。 | |
| 获取指定的房间信息。 | |
| 更新房间名称(只有管理员或房主能够调用)。 | |
| 更新房间麦位模式(只有管理员或房主能够调用)。 | |
| 更新房间密码(管理员或房主专用)。 | |
| 获取房间自定义信息。 | |
| 设置房间自定义信息(直播房间专用)。 | |
| 设置本地用户视频渲染的视图控件 | |
| 打开本地摄像头 | |
| 关闭本地摄像头 | |
| 开始推送本地视频。默认开启 | |
| 停止推送本地视频 | |
| 更新本地视频编码质量设置 | |
| 设置视频编码器的编码参数 | |
| 设置视频编码器分辨率模式(横屏分辨率 or 竖屏分辨率) | |
| 设置本地画面被暂停期间的替代图片 | |
| 开启重力感应模式 | |
| 开始屏幕分享(该接口仅支持移动端) | |
| 结束屏幕分享 | |
| 打开本地麦克风 | |
| 关闭本地麦克风 | |
| 更新本地音频编码质量设置 | |
| 暂停发布本地的音频流 | |
| 恢复发布本地的音频流 | |
| 开启系统声音分享 | |
| 设置远端用户视频渲染的视图控件 | |
| 开始播放远端用户视频 | |
| 停止播放远端用户视频 | |
| 将远端用户静音 | |
| 获取房间内的成员列表 | |
| 获取成员信息 | |
| 搜索成员信息 | |
| 修改用户角色(只有管理员或房主能够调用) | |
| 修改用户房间内昵称 | |
| 将远端用户踢出房间(只有管理员或房主能够调用) | |
| 为用户增加标记(只有房主能够调用) | |
| 为用户移除标记(只有房主能够调用) | |
| 根据标记获取房间内用户信息 | |
| 设置房间内成员自定义信息 | |
| 控制当前房间内所有用户是否可打开音频流、视频流采集设备的权限状态,例如:全员禁止打开麦克风、全员禁止打开摄像头(目前仅会议场景下可用,并且只有管理员或房主能够调用) | |
| 请求远端用户打开媒体设备(只有管理员或房主能够调用,device类型不支持SCREEN_SHARING) | |
| 关闭远端用户媒体设备(只有管理员或房主能够调用) | |
| 请求打开本地媒体设备(普通用户可用,device类型不支持SCREEN_SHARING) | |
| 获取麦位列表 | |
| 锁定麦位(只有管理员或房主能够调用,包括位置锁定、音频状态锁定和视频状态锁定) | |
| 上麦(上麦发言模式下,需要申请) | |
| 下麦 | |
| 移麦 | |
| 主持人/管理员 邀请用户上麦 | |
| 主持人/管理员 将用户踢下麦 | |
| 主持人/管理员 获取房间内申请上麦用户的请求列表 | |
| 禁用远端用户的发送文本消息能力(只有管理员或房主能够调用) | |
| 禁用所有用户的发送文本消息能力(只有管理员或房主能够调用) | |
| 发送文本消息 | |
| 发送系统消息 | |
| 取消请求 | |
| 回复请求 | |
| 获得TRTC实例对象 | |
| 设置美颜级别 | |
| 设置美白级别 | |
| 获取插件 | |
| 获取设备管理类 | |
| 获取连线管理类 | |
| 获取 Battle 管理类 | |
| 调用实验性接口 | 
sharedInstance
sharedInstance
获取 TUIRoomEngine 单例实例。
功能描述:
 创建并返回 TUIRoomEngine 的全局共享实例(单例模式)。
 适用于会议和直播两种房间类型(CONFERENCE & LIVE)。
 使用单例模式可避免重复创建引擎实例,节省资源。
返回值说明:
 返回 TUIRoomEngine 的单例实例。
// Java 调用示例TUIRoomEngine engine = TUIRoomEngine.sharedInstance();
注意
 多次调用会返回同一个实例。
destroySharedInstance
destroySharedInstance
销毁 TUIRoomEngine 单例实例。
功能描述:
 销毁 TUIRoomEngine 的全局共享实例。
 释放引擎占用的所有资源。
 调用后如需再次使用需要重新获取 sharedInstance。
// Java 调用示例TUIRoomEngine.destroySharedInstance();
注意
 为了避免销毁单例对象后引发未知异常,此接口不建议在程序运行期间调用。
 调用此方法前请确保已退出所有房间。
 调用此方法后所有引擎功能将不可用。
 适用于会议和直播两种房间类型(CONFERENCE & LIVE)。
login
login
| void login | (Context context | 
|  | int sdkAppId | 
|  | String userId | 
|  | String userSig | 
|  | TUIRoomDefine.ActionCallback callback) | 
登录接口,初始化用户信息后才能进入房间并进行操作。
功能描述:
 初始化用户信息,建立与腾讯云实时音视频服务的连接。
 适用于会议和直播两种房间类型(CONFERENCE & LIVE)。
 若用户在线时被踢下线,SDK会通过 TUIRoomObserver 中的 onKickedOffLine 回调通知。
// Java 调用示例TUIRoomEngine.login(context, 1400000001, "user123", "xxxxxx", new TUIRoomDefine.ActionCallback() {@Overridepublic void onSuccess() {// 登录成功处理}@Overridepublic void onError(int errorCode, String errorMessage) {// 登录失败处理}});
参数说明:
| 参数 | 描述 | 
| onError | 登录失败的回调。 | 
| onSuccess | 登录成功的回调。 | 
| sdkAppId | 它是腾讯云用于区分客户的唯一标识,进入腾讯云实时音视频 控制台创建应用,即可看到 SDKAppId。 | 
| userId | 用户唯一标识,用于区分不同用户。 | 
| userSig | 用户签名,用于腾讯云流量的认证。 | 
注意
 必须先调用此接口登录成功后才能进行其他操作。
 同一个 SDKAppId 下的 userId 必须唯一。
 userSig 需要由您的业务服务器生成。
logout
logout
| void logout | (TUIRoomDefine.ActionCallback callback) | 
退出登录接口,释放资源并离开房间。
功能描述:
 主动退出当前登录状态。
 释放引擎占用的所有资源。
 如果当前在房间内,会自动执行离开房间操作。
 调用后如需再次使用需要重新调用 login 接口。
// Java 调用示例TUIRoomEngine.logout(new TUIRoomDefine.ActionCallback() {@Overridepublic void onSuccess() {// 退出成功处理}@Overridepublic void onError(int errorCode, String errorMessage) {// 退出失败处理}});
参数说明:
| 参数 | 描述 | 
| onError | 退出失败的回调,包含错误码和错误信息。 | 
| onSuccess | 退出成功的回调。 | 
注意
 调用此方法前请确保已完成所有必要的清理工作。
 调用此方法后所有引擎功能将不可用。
 适用于会议和直播两种房间类型(CONFERENCE & LIVE)。
 如果网络异常导致退出失败,建议重试或提示用户检查网络。
setSelfInfo
setSelfInfo
| void setSelfInfo | (String userName | 
|  | String avatarURL | 
|  | TUIRoomDefine.ActionCallback callback) | 
设置本地用户名称和头像。
功能描述:
 设置本地用户的昵称和头像 URL。
 修改后的信息会同步到房间内其他用户。
 适用于会议和直播两种房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
// Java 调用示例TUIRoomEngine.setSelfInfo("John", "https://avatar.url", new TUIRoomDefine.ActionCallback() {@Overridepublic void onSuccess() {// 设置成功处理}@Overridepublic void onError(int errorCode, String errorMessage) {// 设置失败处理}});
参数说明:
| 参数 | 描述 | 
| avatarURL | 用户头像 URL 地址。 | 
| onError | 设置失败的回调,包含错误码和错误信息。 | 
| onSuccess | 设置成功的回调。 | 
| userName | 用户昵称。 | 
注意
 头像 URL 需要是可访问的有效地址。
 昵称和头像修改后会延迟至少10分钟同步到房间内其他用户。
getSelfInfo
getSelfInfo
获取本地用户登录的基本信息。
功能描述:
 获取当前登录用户的详细信息。
 包含用户 ID 、昵称、头像 URL 等基本信息。
 适用于会议和直播两种房间类型(CONFERENCE & LIVE)。
返回值说明:
 返回TUILoginUserInfo对象(LoginUserInfo)。
// Java 调用示例TUIRoomDefine.LoginUserInfo userInfo = TUIRoomEngine.getSelfInfo();
注意
 必须在登录成功后调用, 返回的是本地缓存的用户信息。
setSelfInfo
setSelfInfo
| void setSelfInfo | |
|  | TUIRoomDefine.ActionCallback callback) | 
设置当前登录用户的详细信息。
功能描述:
 设置当前登录用户的基本信息,包括用户 ID 、昵称、头像 URL 等。
 修改后的信息会同步到房间内其他用户。
 支持会议房间类型和直播房间类型(CONFERENCE & LIVE)。
// Java 调用示例TUIRoomDefine.LoginUserInfo userInfo = new TUIRoomDefine.LoginUserInfo();userInfo.userId = "user123";userInfo.userName = "John";userInfo.avatarUrl = "https://avatar.url";TUIRoomEngine.setSelfInfo(userInfo, new TUIRoomDefine.ActionCallback() {@Overridepublic void onSuccess() {// 设置成功处理}@Overridepublic void onError(int errorCode, String errorMessage) {// 设置失败处理}});
参数说明:
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知接口调用的成功或者失败。 | 
| userInfo | 
注意
 必须在登录成功后调用。
 头像URL需要是可访问的有效地址。
 昵称和头像修改后会延迟至少10分钟同步到房间内其他用户。
addObserver
addObserver
| void addObserver | 
设置事件回调。
功能描述:
 注册一个观察者对象以接收房间内的各种事件通知。
 支持会议房间类型和直播房间类型(CONFERENCE & LIVE)。
 通过 TUIRoomObserver 获得各类事件通知(例如:错误码,远端用户进房,音视频状态参数等)。
// Java 调用示例TUIRoomEngine engine = TUIRoomEngine.sharedInstance();engine.addObserver(new TUIRoomObserver() {@Overridepublic void onRemoteUserEnterRoom(String userId) {// 处理用户进入房间事件}@Overridepublic void onRemoteUserLeaveRoom(String userId) {// 处理用户离开房间事件}// 实现其他回调方法...});
参数说明:
| 参数 | 描述 | 
| observer | 遵循TUIRoomObserver协议的对象实例。 | 
注意
 必须在进入房间前调用。
 添加的 observer 对象需要自行管理生命周期。
 避免重复添加同一个 observer 。
 退出房间后不会自动移除 observer ,需手动调用 removeObserver 。
removeObserver
removeObserver
| void removeObserver | 
移除事件回调。
功能描述:
 注销之前注册的观察者对象,停止接收房间内的各种事件通知。
 支持会议房间类型和直播房间类型(CONFERENCE & LIVE)。
// Java 调用示例class MyRoomObserver implements TUIRoomObserver {@Overridepublic void onRemoteUserEnterRoom(String userId) {// 处理用户进入房间事件}@Overridepublic void onRemoteUserLeaveRoom(String userId) {// 处理用户离开房间事件}// 实现其他回调方法...}MyRoomObserver observer = new MyRoomObserver();TUIRoomEngine engine = TUIRoomEngine.sharedInstance();engine.addObserver(observer);// 当不再需要观察时engine.removeObserver(observer);
参数说明:
| 参数 | 描述 | 
| observer | 待移除的监听回调实例。 | 
注意
 移除不存在的 observer 可能会产生错误。
 建议在观察者对象销毁前调用此方法。
createRoom
createRoom
| void createRoom | |
|  | TUIRoomDefine.ActionCallback callback) | 
创建房间。
功能描述:
 创建一个新的房间,支持会议和直播两种房间类型(CONFERENCE & LIVE)。
 房间创建者自动成为房主。
 需要提供房间信息参数来初始化房间设置。
// Java 调用示例TUIRoomDefine.RoomInfo roomInfo = new TUIRoomDefine.RoomInfo();roomInfo.roomId = "room123";roomInfo.roomType = TUIRoomDefine.RoomType.CONFERENCE;roomInfo.name = "Conference Room";TUIRoomEngine.sharedInstance().createRoom(roomInfo, new TUIRoomDefine.ActionCallback() {@Overridepublic void onSuccess() {// 创建房间成功}@Overridepublic void onError(TUICommonDefine.Error errorCode, String errorMessage) {// 创建房间失败}});
参数说明:
| 参数 | 描述 | 
| callback | (Android/Win) 调用接口的回调,用于通知接口调用的成功或者失败, 失败回调会包含错误码和错误信息。 | 
| onError | (iOS) 失败回调(包含错误码和错误信息)。 | 
| onSuccess | (iOS) 成功回调。 | 
| roomInfo | 房间信息,可以初始化房间的一些设置。 | 
注意
 创建房间前需要先调用 login 方法登录。
 创建不同类型的房间,会议类型 CONFERENCE / 直播类型 LIVE 会影响后续的功能使用。
 房间创建成功后,创建者自动成为房主。
 同一用户在同一时间只能创建一个房间。
destroyRoom
destroyRoom
| void destroyRoom | (TUIRoomDefine.ActionCallback callback) | 
解散房间。
功能描述:
 解散当前所在的房间。
 房间解散后,所有成员将被强制退出。
 支持会议房间类型和直播房间类型(CONFERENCE & LIVE)。
// Java 调用示例TUIRoomEngine.sharedInstance().destroyRoom(new TUIRoomDefine.ActionCallback() {@Overridepublic void onSuccess() {// 解散房间成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 解散房间失败}});
参数说明:
| 参数 | 描述 | 
| callback | (Android/Win) 调用接口的回调,用于通知接口调用的成功或者失败,失败回调会包含错误码和错误信息。 | 
| onError | (iOS) 失败回调(包含错误码和错误信息)。 | 
| onSuccess | (iOS) 成功回调。 | 
注意
 只有房主可以调用此接口。
 房间解散后,SDK 会通过 TUIRoomObserver 中的 onRoomDismissed 回调通知房间内用户。
 调用此接口前请确保已处理完所有房间内事务。
 解散房间后无法恢复,如需继续使用需要重新创建房间。
enterRoom
enterRoom
| void enterRoom | (String roomId | 
|  | TUIRoomDefine.GetRoomInfoCallback callback) | 
进入房间。
功能描述:
 此接口后期版本会将会废弃, 不建议使用。
 进入房间建议使用 
 2.4 enterRoom(String roomId, TUIRoomDefine.RoomType roomType  或者  2.5 enterRoom(String roomId, TUIRoomDefine.RoomType roomType, TUIRoomDefine.EnterRoomOptions  接口。// Java 调用示例TUIRoomEngine.sharedInstance().enterRoom("room123", new TUIRoomDefine.GetRoomInfoCallback() {@Overridepublic void onSuccess(TUIRoomDefine.RoomInfo roomInfo) {// 进入房间成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 进入房间失败}});
参数说明:
| 参数 | 描述 | 
| callback | (Android/Win) 调用接口的回调,用于通知接口调用的成功或者失败,失败回调会包含错误码和错误信息。 | 
| onError | (iOS) 失败回调(包含错误码和错误信息)。 | 
| onSuccess | (iOS) 成功回调。 | 
| roomId | 房间 ID。 | 
注意
 单设备允许同时进入的房间数限制 1 个,超过限制后,会退出最早加入的房间。
 同账号多设备登录,只允许一个设备进入相同 ID 的会议房间,其他设备进入时,会踢掉较早进入的设备。
 进入房间后,SDK 会通过 TUIRoomObserver 中的 onRemoteUserEnterRoom 回调通知房间内用户。
enterRoom
enterRoom
| void enterRoom | (String roomId | 
|  | |
|  | TUIRoomDefine.GetRoomInfoCallback callback) | 
进入房间。
功能描述:
 进入指定的房间,支持会议和直播两种房间类型(CONFERENCE & LIVE)。
// Java 调用示例TUIRoomEngine.sharedInstance().enterRoom("room123", TUIRoomDefine.RoomType.CONFERENCE, new TUIRoomDefine.GetRoomInfoCallback() {@Overridepublic void onSuccess(TUIRoomDefine.RoomInfo roomInfo) {// 进入房间成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 进入房间失败}});
参数说明:
| 参数 | 描述 | 
| callback | (Android/Win) 调用接口的回调,用于通知接口调用的成功或者失败,失败回调会包含错误码和错误信息。 | 
| onError | (iOS) 操作失败回调(包含错误码和错误信息)。 | 
| onSuccess | (iOS) 成功回调。 | 
| roomId | 房间ID,需要保证唯一性。 | 
| roomType | 房间类型(会议/直播)。 | 
注意
 单设备允许同时进入的房间数限制, 会议类型 CONFERENCE :1个,直播类型 LIVE :live: 3个。超过限制后,会退出最早加入的房间。
 同账号多设备登录,只允许一个设备进入相同 ID 的会议房间,其他设备进入时,会踢掉较早进入的设备。
 进入房间之后,SDK 会通过 TUIRoomObserver 中的 onRemoteUserEnterRoom 回调通知房间内用户。
enterRoom
enterRoom
| void enterRoom | (String roomId | 
|  | |
|  | |
|  | TUIRoomDefine.GetRoomInfoCallback callback) | 
进入房间。
功能描述:
 进入指定的房间,支持会议和直播两种房间类型(CONFERENCE & LIVE)。
 支持通过
 options 传入更多进房参数,例如房间密码等。// Java 调用示例TUIRoomDefine.EnterRoomOptions options = new TUIRoomDefine.EnterRoomOptions();options.password = "***";TUIRoomEngine.sharedInstance().enterRoom("room123", TUIRoomDefine.RoomType.CONFERENCE, options, new TUIRoomDefine.GetRoomInfoCallback() {@Overridepublic void onSuccess(TUIRoomDefine.RoomInfo roomInfo) {//进入房间成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 进入房间失败}});
参数说明:
| 参数 | 描述 | 
| callback | (Android/Win) 调用接口的回调,用于通知接口调用的成功或者失败,失败回调会包含错误码和错误信息。 | 
| onError | (iOS) 失败回调(包含错误码和错误信息)。 | 
| onSuccess | (iOS) 成功回调。 | 
| options | |
| roomId | 房间 ID。 | 
| roomType | 房间类型。 | 
注意
 单设备允许同时进入的房间数限制, 会议类型 CONFERENCE :1个,直播类型 LIVE :live: 3个。超过限制后,会退出最早加入的房间。
 同账号多设备登录,只允许一个设备进入相同 ID 的会议房间,其他设备进入时,会踢掉较早进入的设备。
 进入房间之后,SDK 会通过 TUIRoomObserver 中的 onRemoteUserEnterRoom 回调通知房间内用户。
exitRoom
exitRoom
| void exitRoom | (boolean syncWaiting | 
|  | TUIRoomDefine.ActionCallback callback) | 
离开房间。
功能描述:
 退出当前所在的房间。
 此函数支持会议房间类型和直播房间类型(CONFERENCE & LIVE)。
 退出后会自动停止所有音视频流推送。
// Java 调用示例TUIRoomEngine.sharedInstance().exitRoom(true, new TUIRoomDefine.ActionCallback() {@Overridepublic void onSuccess() {// 退出房间成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 退出房间失败}});
参数说明:
| 参数 | 描述 | 
| callback | (Android/Win) 调用接口的回调,用于通知接口调用的成功或者失败,失败回调会包含错误码和错误信息。 | 
| onError | (iOS) 失败回调(包含错误码和错误信息)。 | 
| onSuccess | (iOS) 成功回调。 | 
| syncWaiting | 是否同步等待接口返回。 | 
注意
 离开房间之后,SDK 会通过 TUIRoomObserver 中的 onRemoteUserLeaveRoom 回调通知房间内用户。
fetchRoomInfo
fetchRoomInfo
| void fetchRoomInfo | (TUIRoomDefine.GetRoomInfoCallback callback) | 
获取当前进入的房间信息。
功能描述:
 获取当前所在房间的详细信息,包括房间 ID、房间名称、房间类型等。
 此函数支持会议房间类型和直播房间类型(CONFERENCE & LIVE)。
// Java 调用示例TUIRoomEngine.sharedInstance().fetchRoomInfo(new TUIRoomDefine.GetRoomInfoCallback() {@Overridepublic void onSuccess(TUIRoomDefine.RoomInfo roomInfo) {// 获取房间信息成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 获取房间信息失败}});
参数说明:
| 参数 | 描述 | 
| callback | (Android/Win) 调用接口的回调,用于通知接口调用的成功或者失败,若成功则会返回包含 $TUIRoomInfo 房间信息,若失败则会包含错误码和错误信息。 | 
| onError | (iOS) 失败回调(包含错误码和错误信息)。 | 
| onSuccess | (iOS) 成功获取到房间信息回调,回调会包含 $TUIRoomInfo 房间信息。 | 
注意
 必须在进入房间后调用。
 返回的房间信息包含房间的基本配置和当前状态。
 如果当前未进入任何房间会返回错误。
fetchRoomInfo
fetchRoomInfo
| void fetchRoomInfo | (String roomId | 
|  | |
|  | TUIRoomDefine.GetRoomInfoCallback callback) | 
获取指定的房间信息。
功能描述:
 获取指定房间的详细信息,包括房间ID、房间名称、房间类型等。
 适用于会议和直播两种房间类型(CONFERENCE & LIVE)。
// Java 调用示例TUIRoomEngine.sharedInstance().fetchRoomInfo("roomId", TUIRoomDefine.RoomType.CONFERENCE, new TUIRoomDefine.GetRoomInfoCallback() {@Overridepublic void onSuccess(TUIRoomDefine.RoomInfo roomInfo) {// 获取房间信息成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 获取房间信息失败}});
参数说明:
| 参数 | 描述 | 
| callback | (Android/Win) 调用接口的回调,用于通知接口调用的成功或者失败,若成功则会返回包含 $TUIRoomInfo 房间信息,若失败则会包含错误码和错误信息。 | 
| onError | (iOS) 失败回调(包含错误码和错误信息)。 | 
| onSuccess | (iOS) 成功获取到房间信息回调,回调会包含 $TUIRoomInfo 房间信息。 | 
| roomId | 要查询的房间ID。 | 
| roomType | 房间类型(会议/直播) | 
注意
 可在进入房间前调用。
 返回的房间信息包含房间的基本配置和当前状态。
 如果获取的房间不存在会返回错误。
updateRoomNameByAdmin
updateRoomNameByAdmin
| void updateRoomNameByAdmin | (String roomName | 
|  | TUIRoomDefine.ActionCallback callback) | 
更新房间名称(只有管理员或房主能够调用)。
功能描述:
 修改当前房间的名称,适用于会议和直播两种房间类型(CONFERENCE & LIVE)。
 房间名称更新后,SDK 会通过 TUIRoomObserver 中的 onRoomNameChanged 回调通知房间内所有用户。
// Java 调用示例TUIRoomEngine.sharedInstance().updateRoomNameByAdmin("New Room", new TUIRoomDefine.ActionCallback() {@Overridepublic void onSuccess() {// 更新房间名称成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 更新房间名称失败}});
参数说明:
| 参数 | 描述 | 
| callback | (Android/Win) 调用接口的回调,用于通知接口调用的成功或者失败,若失败则会包含错误码和错误信息。 | 
| onError | (iOS) 失败回调(包含错误码和错误信息)。 | 
| onSuccess | (iOS) 成功更新房间名称的回调。 | 
| roomName | 新的房间名称。 | 
updateRoomSeatModeByAdmin
updateRoomSeatModeByAdmin
| void updateRoomSeatModeByAdmin | |
|  | TUIRoomDefine.ActionCallback callback) | 
更新房间麦位模式(只有管理员或房主能够调用)。
功能描述:
 修改房间的麦位管理模式,支持自由上麦和申请上麦两种模式。
 适用于会议和直播两种房间类型(CONFERENCE & LIVE)。
 麦位模式更新后,SDK 会通过 TUIRoomObserver 中的 onRoomSeatModeChanged 回调通知房间内所有用户。
// Java 调用示例TUIRoomEngine.sharedInstance().updateRoomSeatModeByAdmin(TUIRoomDefine.SeatMode.APPLY_TO_TAKE, new TUIRoomDefine.ActionCallback() {@Overridepublic void onSuccess() {// 更新房间麦位模式成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 更新房间麦位模式失败}});
参数说明:
| 参数 | 描述 | 
| callback | (Android/Win) 调用接口的回调,用于通知接口调用的成功或者失败,若失败则会包含错误码和错误信息。 | 
| onError | (iOS) 失败回调(包含错误码和错误信息)。 | 
| onSuccess | (iOS) 成功更新房间麦位模式的回调。 | 
| seatMode | 
注意
 只有管理员或房主可以调用此接口。
 模式变更后,房间内所有用户都会收到 onRoomSeatModeChanged 回调。
 自由上麦模式适用于互动性强的场景,申请上麦模式适用于需要控制发言权的场景。
updateRoomPasswordByAdmin
updateRoomPasswordByAdmin
| void updateRoomPasswordByAdmin | (String password | 
|  | TUIRoomDefine.ActionCallback callback) | 
更新房间密码(管理员或房主专用)。
功能描述:
 修改当前房间的访问密码,仅适用于会议房间类型(CONFERENCE)。
 密码更新后,新加入房间的用户需要提供新密码才能进入。
// Java 调用示例TUIRoomEngine.sharedInstance().updateRoomPasswordByAdmin("NewPassword", new TUIRoomDefine.ActionCallback() {@Overridepublic void onSuccess() {// 更新房间密码成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 更新房间密码失败}});
参数说明:
| 参数 | 描述 | 
| callback | (Android/Win) 调用接口的回调,用于通知接口调用的成功或者失败,若失败则会包含错误码和错误信息。 | 
| onError | (iOS) 失败回调(包含错误码和错误信息)。 | 
| onSuccess | (iOS) 成功更新房间密码的回调。 | 
| password | 新的房间密码,长度建议8-16位,可包含字母、数字和特殊字符。 | 
getRoomMetadata
getRoomMetadata
| void getRoomMetadata | (List<String> keys | 
|  | TUIRoomDefine.GetRoomMetadataCallback callback) | 
获取房间自定义信息。
功能描述:
 获取房间的自定义元数据信息,这些信息是房间创建时或管理员设置的键值对。
 仅适用于直播房间类型(LIVE)。
// Java 调用示例List<String> keys = Arrays.asList("key1", "key2");TUIRoomEngine.sharedInstance().getRoomMetadata(keys, new TUIRoomDefine.GetRoomMetadataCallback() {@Overridepublic void onSuccess(HashMap<String, String> metadata) {Log.d("TAG", "获取房间自定义信息成功");}@Overridepublic void onError(TUICommonDefine.Error error, String message) {Log.e("TAG", "获取房间自定义信息失败: " + message);}});
参数说明:
| 参数 | 描述 | 
| callback | (Android) 调用接口的回调,用于通知接口调用的成功或者失败,若成功则返回包含元数据的信息,若失败则会包含错误码和错误信息。 | 
| keys | 要查询的元数据键列表,如果传入空列表则获取所有元数据。 | 
| onError | (iOS) 失败回调,包含错误码和错误信息。 | 
| onSuccess | (iOS) 成功回调,返回包含元数据的信息。 | 
setRoomMetadataByAdmin
setRoomMetadataByAdmin
| void setRoomMetadataByAdmin | (HashMap<String, String> metadata | 
|  | TUIRoomDefine.ActionCallback callback) | 
设置房间自定义信息(直播房间专用)。
功能描述:
 设置或更新房间的自定义元数据键值对,适用于直播房间类型(LIVE)。
 如果指定的键已存在,则更新其值;如果不存在,则添加新的键值对。
 元数据更新后,SDK 会通过 TUIRoomObserver 中的 onRoomMetadataChanged 回调通知房间内所有用户。
// Java 调用示例HashMap<String, String> metadata = new HashMap<>();metadata.put("key1", "value1");metadata.put("key2", "value2");TUIRoomEngine.sharedInstance().setRoomMetadataByAdmin(metadata, new TUIRoomDefine.ActionCallback() {@Overridepublic void onSuccess() {// 设置房间自定义信息成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 设置房间自定义信息失败}});
参数说明:
| 参数 | 描述 | 
| callback | (Android) 调用接口的回调,用于通知接口调用的成功或者失败,若失败则会包含错误码和错误信息。 | 
| metadata | 要设置的自定义元数据键值对,键和值都必须是字符串类型。 | 
| onError | (iOS) 失败回调,包含错误码和错误信息。 | 
| onSuccess | (iOS) 设置成功回调。 | 
注意
 只有管理员或房主可以调用此接口。
 元数据更新后,房间内所有用户都会收到 onRoomMetadataChanged 回调。
 键长度不能超过 50 字节,值长度不超过 200 字节。
 此功能仅适用于直播房间类型(LIVE)。
setLocalVideoView
setLocalVideoView
| void setLocalVideoView | (TUIVideoView view) | 
openLocalCamera
openLocalCamera
| void openLocalCamera | (boolean isFront | 
|  | |
|  | TUIRoomDefine.ActionCallback callback) | 
打开本地摄像头
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知接口调用的成功或者失败。 | 
| isFront | true: 前置 false: 后置。 该参数只在移动端生效。 | 
注意
closeLocalCamera
closeLocalCamera
关闭本地摄像头
注意
startPushLocalVideo
startPushLocalVideo
开始推送本地视频。默认开启
注意
stopPushLocalVideo
stopPushLocalVideo
停止推送本地视频
注意
updateVideoQuality
updateVideoQuality
| void updateVideoQuality | 
更新本地视频编码质量设置
注意
updateVideoQualityEx
updateVideoQualityEx
| void updateVideoQualityEx | |
|  | 
设置视频编码器的编码参数
| 参数 | 描述 | 
| params | |
| streamType | 
注意
setVideoResolutionMode
setVideoResolutionMode
| void setVideoResolutionMode | |
|  | 
设置视频编码器分辨率模式(横屏分辨率 or 竖屏分辨率)
| 参数 | 描述 | 
| resolutionMode | |
| streamType | 
注意
setLocalVideoMuteImage
setLocalVideoMuteImage
| void setLocalVideoMuteImage | (Bitmap image) | 
设置本地画面被暂停期间的替代图片
| 参数 | 描述 | 
| image | 替代图片。 | 
注意
仅在调用 stopPushLocalVideo 后支持设置垫片资源进行推流,调用 closeLocalCamera 后不支持设置垫片资源。
enableGravitySensor
enableGravitySensor
| void enableGravitySensor | (boolean enable) | 
开启重力感应模式
| 参数 | 描述 | 
| enable | true: 开启 false: 关闭 | 
startScreenSharing
startScreenSharing
开始屏幕分享(该接口仅支持移动端)
注意
stopScreenSharing
stopScreenSharing
结束屏幕分享
注意
结束屏幕共享之后,SDK会通过 TUIRoomObserver 中的 onUserVideoStateChanged 回调通知房间内用户,同时也会通过 onUserScreenCaptureStopped 回调通知您。
openLocalMicrophone
openLocalMicrophone
| void openLocalMicrophone | |
|  | TUIRoomDefine.ActionCallback callback) | 
打开本地麦克风
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知接口调用的成功或者失败。 | 
| quality | 音频质量。 | 
注意
closeLocalMicrophone
closeLocalMicrophone
关闭本地麦克风
注意
updateAudioQuality
updateAudioQuality
| void updateAudioQuality | 
更新本地音频编码质量设置
注意
muteLocalAudio
muteLocalAudio
暂停发布本地的音频流
注意
unmuteLocalAudio
unmuteLocalAudio
| void unmuteLocalAudio | (TUIRoomDefine.ActionCallback callback) | 
恢复发布本地的音频流
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知接口调用的成功或者失败。 | 
注意
enableSystemAudioSharing
enableSystemAudioSharing
| void enableSystemAudioSharing | (boolean enable) | 
开启系统声音分享
该接口会采集您设备的音频数据,并将其混入到 SDK 当前的音频数据流中,从而使房间中的其他用户也能听到主播的电脑所播放出的声音。
setRemoteVideoView
setRemoteVideoView
| void setRemoteVideoView | (String userId | 
|  | |
|  | TUIVideoView view) | 
设置远端用户视频渲染的视图控件
| 参数 | 描述 | 
| streamType | |
| userId | 远端用户ID。 | 
| view | 视频渲染视图。 | 
注意
startPlayRemoteVideo
startPlayRemoteVideo
| void startPlayRemoteVideo | (String userId | 
|  | |
|  | TUIRoomDefine.PlayCallback callback) | 
开始播放远端用户视频
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知播放时的状态回调。 | 
| streamType | |
| userId | 用户ID。 | 
注意
stopPlayRemoteVideo
stopPlayRemoteVideo
| void stopPlayRemoteVideo | (String userId | 
|  | 
停止播放远端用户视频
| 参数 | 描述 | 
| streamType | |
| userId | 用户ID。 | 
注意
muteRemoteAudioStream
muteRemoteAudioStream
| void muteRemoteAudioStream | (String userId | 
|  | boolean isMute) | 
getUserList
getUserList
| void getUserList | (long nextSequence | 
|  | TUIRoomDefine.GetUserListCallback callback) | 
获取房间内的成员列表
| 参数 | 描述 | 
| callback | |
| nextSequence | 分页拉取标志,第一次拉取填0,回调成功 如果callback返回的数据中 nextSequence 不为零,需要分页,传入再次拉取,直至为0。 | 
注意
getUserInfo
getUserInfo
| void getUserInfo | (String userId | 
|  | TUIRoomDefine.GetUserInfoCallback callback) | 
searchUsers
searchUsers
| void searchUsers | |
|  | TUIRoomDefine.UserSearchCallback callback) | 
changeUserRole
changeUserRole
| void changeUserRole | (String userId | 
|  | |
|  | TUIRoomDefine.ActionCallback callback) | 
修改用户角色(只有管理员或房主能够调用)
| 参数 | 描述 | 
| role | |
| userId | 用户ID。 | 
注意
changeUserNameCard
changeUserNameCard
| void changeUserNameCard | (String userId | 
|  | String nameCard | 
|  | TUIRoomDefine.ActionCallback callback) | 
修改用户房间内昵称
| 参数 | 描述 | 
| nameCard | 房间内用户昵称,最大支持32个字节。。 | 
| userId | 要修改的用户ID。 | 
kickRemoteUserOutOfRoom
kickRemoteUserOutOfRoom
| void kickRemoteUserOutOfRoom | (String userId | 
|  | TUIRoomDefine.ActionCallback callback) | 
将远端用户踢出房间(只有管理员或房主能够调用)
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知接口调用的成功或者失败。 | 
| userId | 用户ID。 | 
注意
将远端用户踢出房间后,SDK会通过 TUIRoomObserver 中的 onKickedOutOfRoom 回调通知被踢出用户,同时会通过 onRemoteUserLeaveRoom 通知房间内用户。
addCategoryTagForUsers
addCategoryTagForUsers
| void addCategoryTagForUsers | (int tag | 
|  | List<String> userList | 
|  | TUIRoomDefine.ActionCallback callback) | 
为用户增加标记(只有房主能够调用)
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知接口调用的成功或者失败。 | 
| tag | 标记类型。数字类型,大于等于 1000,您可以自定义。 | 
| userList | 用户列表。 | 
注意
removeCategoryTagForUsers
removeCategoryTagForUsers
| void removeCategoryTagForUsers | (int tag | 
|  | List<String> userList | 
|  | TUIRoomDefine.ActionCallback callback) | 
为用户移除标记(只有房主能够调用)
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知接口调用的成功或者失败。 | 
| tag | 标记类型。数字类型,大于等于 1000,您可以自定义。 | 
| userList | 用户列表。 | 
注意
getUserListByTag
getUserListByTag
| void getUserListByTag | (int tag | 
|  | long nextSequence | 
|  | TUIRoomDefine.GetUserListCallback callback) | 
根据标记获取房间内用户信息
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知接口调用的成功或者失败。 | 
| nextSequence | 分页拉取标志,第一次拉取填0,回调成功 如果callback返回的数据中 nextSequence 不为零,需要分页,传入再次拉取,直至为0。 | 
| tag | 标记类型。数字类型,大于等于 1000,您可以自定义。 | 
注意
setCustomInfoForUser
setCustomInfoForUser
| void setCustomInfoForUser | (String userId | 
|  | HashMap<String | 
|  | byte[]> customInfo | 
|  | TUIRoomDefine.ActionCallback callback) | 
disableDeviceForAllUserByAdmin
disableDeviceForAllUserByAdmin
| void disableDeviceForAllUserByAdmin | |
|  | boolean isDisable | 
|  | TUIRoomDefine.ActionCallback callback) | 
控制当前房间内所有用户是否可打开音频流、视频流采集设备的权限状态,例如:全员禁止打开麦克风、全员禁止打开摄像头(目前仅会议场景下可用,并且只有管理员或房主能够调用)
| 参数 | 描述 | 
| callback | 操作回调。 | 
| device | |
| isDisable | 否禁用。 | 
注意
接口调用成功后:
若device类型为 SCREEN_SHARING ,SDK会通过 TUIRoomObserver 中的 onScreenShareForAllUserDisableChanged 通知房间内用户。
openRemoteDeviceByAdmin
openRemoteDeviceByAdmin
| Request openRemoteDeviceByAdmin | (String userId | 
|  | |
|  | int timeout | 
|  | TUIRoomDefine.RequestCallback callback) | 
请求远端用户打开媒体设备(只有管理员或房主能够调用,device类型不支持SCREEN_SHARING)
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知请求状态的回调,详细定义参见: RequestCallback。 | 
| device | |
| timeout | 超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调。 | 
| userId | 用户ID。 | 
返回值说明:
TUIRequest 请求体。
closeRemoteDeviceByAdmin
closeRemoteDeviceByAdmin
| void closeRemoteDeviceByAdmin | (String userId | 
|  | |
|  | TUIRoomDefine.ActionCallback callback) | 
关闭远端用户媒体设备(只有管理员或房主能够调用)
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知接口调用的成功或者失败。 | 
| device | |
| userId | 用户ID。 | 
注意
接口调用成功后:
若device类型为 CAMERA 或 SCREEN_SHARING,SDK会通过 TUIRoomObserver 中的 onUserVideoStateChanged 通知房间内用户
applyToAdminToOpenLocalDevice
applyToAdminToOpenLocalDevice
| Request applyToAdminToOpenLocalDevice | |
|  | int timeout | 
|  | TUIRoomDefine.RequestCallback callback) | 
请求打开本地媒体设备(普通用户可用,device类型不支持SCREEN_SHARING)
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知请求的回调状态,详细定义参见: RequestCallback。 | 
| device | |
| timeout | 超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调。 | 
返回值说明:
TUIRequest 请求体。
getSeatList
getSeatList
| void getSeatList | (TUIRoomDefine.GetSeatListCallback callback) | 
获取麦位列表
注意
lockSeatByAdmin
lockSeatByAdmin
| void lockSeatByAdmin | (int seatIndex | 
|  | |
|  | TUIRoomDefine.ActionCallback callback) | 
锁定麦位(只有管理员或房主能够调用,包括位置锁定、音频状态锁定和视频状态锁定)
| 参数 | 描述 | 
| lockParams | 锁麦参数。详情参见:$TUISeatLockParam$。 | 
| seatIndex | 麦位编号。 | 
注意
takeSeat
takeSeat
| Request takeSeat | (int seatIndex | 
|  | int timeout | 
|  | TUIRoomDefine.RequestCallback callback) | 
上麦(上麦发言模式下,需要申请)
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知请求的回调状态,详细定义参见: RequestCallback。 | 
| seatIndex | 麦位编号。 | 
| timeout | 超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调。 | 
注意
开启上麦发言模式时,需要向主持人或管理员发起申请才允许上麦。
开启自由发言模式,直播场景可以自由上麦,上麦后开麦发言,会议场景无需调用该接口,即可开麦发言。
返回值说明:
TUIRequest 请求体。
leaveSeat
leaveSeat
| void leaveSeat | (TUIRoomDefine.ActionCallback callback) | 
下麦
注意
moveToSeat
moveToSeat
| void moveToSeat | (int targetSeatIndex | 
|  | TUIRoomDefine.ActionCallback callback) | 
移麦
注意
takeUserOnSeatByAdmin
takeUserOnSeatByAdmin
| Request takeUserOnSeatByAdmin | (int seatIndex | 
|  | String userId | 
|  | int timeout | 
|  | TUIRoomDefine.RequestCallback callback) | 
主持人/管理员 邀请用户上麦
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知请求的回调状态,详细定义参见: RequestCallback。 | 
| seatIndex | 麦位编号。未开启麦位,不关心麦位序列的情况下,填-1即可。 | 
| timeout | 超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调。 | 
| userId | 用户ID。 | 
注意
返回值说明:
TUIRequest 请求体。
kickUserOffSeatByAdmin
kickUserOffSeatByAdmin
| void kickUserOffSeatByAdmin | (int seatIndex | 
|  | String userId | 
|  | TUIRoomDefine.ActionCallback callback) | 
主持人/管理员 将用户踢下麦
| 参数 | 描述 | 
| seatIndex | 麦位编号。未开启麦位,不关心麦位序列的情况下,填-1即可。 | 
| userId | 用户ID。 | 
注意
getSeatApplicationList
getSeatApplicationList
| void getSeatApplicationList | (TUIRoomDefine.RequestListCallback callback) | 
主持人/管理员 获取房间内申请上麦用户的请求列表
注意
disableSendingMessageByAdmin
disableSendingMessageByAdmin
| void disableSendingMessageByAdmin | (String userId | 
|  | boolean isDisable | 
|  | TUIRoomDefine.ActionCallback callback) | 
禁用远端用户的发送文本消息能力(只有管理员或房主能够调用)
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知接口调用的成功或者失败。 | 
| isDisable | 是否禁用。 | 
| userId | 用户ID。 | 
注意
disableSendingMessageForAllUser
disableSendingMessageForAllUser
| void disableSendingMessageForAllUser | (boolean isDisable | 
|  | TUIRoomDefine.ActionCallback callback) | 
禁用所有用户的发送文本消息能力(只有管理员或房主能够调用)
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知接口调用的成功或者失败。 | 
| isDisable | 是否禁用。 | 
注意
sendTextMessage
sendTextMessage
| void sendTextMessage | |
|  | TUIRoomDefine.SendTextMessageCallback callback) | 
发送文本消息
| 参数 | 描述 | 
| callback | 回调。 | 
| textMessage | 消息对象。 | 
sendCustomMessage
sendCustomMessage
| void sendCustomMessage | |
|  | TUIRoomDefine.SendCustomMessageCallback callback) | 
发送系统消息
| 参数 | 描述 | 
| callback | 回调。 | 
| customMessage | 消息对象。 | 
cancelRequest
cancelRequest
| void cancelRequest | (String requestId | 
|  | TUIRoomDefine.ActionCallback callback) | 
取消请求
| 参数 | 描述 | 
| callback | 调用接口的回调,用于通知接口调用的成功或者失败。 | 
| requestId | 请求ID(发送请求的接口返回或者OnRequestReceived事件通知)。 | 
注意
可以使用此接口来取消已发出的请求。
responseRemoteRequest
responseRemoteRequest
| void responseRemoteRequest | (String requestId | 
|  | boolean agree | 
|  | TUIRoomDefine.ActionCallback callback) | 
回复请求
| 参数 | 描述 | 
| agree | 是否同意 true: 同意请求, false: 拒绝请求。 | 
| callback | 调用接口的回调,用于通知接口调用的成功或者失败。 | 
| requestId | 请求ID(发送请求的接口返回或者OnRequestReceived事件通知)。 | 
getTRTCCloud
getTRTCCloud
获得TRTC实例对象
setBeautyLevel
setBeautyLevel
| void setBeautyLevel | (int beautyStyle | 
|  | float beautyLevel) | 
设置美颜级别
| 参数 | 描述 | 
| beautyLevel | 美颜级别,取值范围 0 - 9; 0 表示关闭,9 表示效果最明显。 | 
| beautyStyle | 美颜风格,取值如下: 0:光滑,磨皮效果比较明显; 1:自然,磨皮效果比较自然,更多地保留了面部细节; 2:优图,磨皮效果介于光滑和自然之间,比光滑保留更多皮肤细节,比自然磨皮程度更高。 | 
注意
setWhitenessLevel
setWhitenessLevel
| void setWhitenessLevel | (float whitenessLevel) | 
设置美白级别
| 参数 | 描述 | 
| whitenessLevel | 美白级别,取值范围 0 - 9;0 表示关闭,9 表示效果最明显。 | 
注意
getExtension
getExtension
| Object getExtension | 
getMediaDeviceManager
getMediaDeviceManager
获取设备管理类
注意
getLiveConnectionManager
getLiveConnectionManager
获取连线管理类
注意
getLiveBattleManager
getLiveBattleManager
获取 Battle 管理类
注意
callExperimentalAPI
callExperimentalAPI
| Object callExperimentalAPI | (String jsonStr | 
|  | TUIRoomDefine.ExperimentalAPIResponseCallback callback) |