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) |