TUIRoomEngine

Copyright (c) 2024 Tencent. All rights reserved.

Module: TUIRoomEngine @ TUIKitEngine
Function: TUIRoomEngine 主功能接口
Version: 2.4.1

TUIRoomEngine

TUIRoomEngine

函数列表
描述
创建 TUIRoomEngine 实例(单例模式)
销毁 TUIRoomEngine 实例(单例模式)
登录接口,您需要先初始化用户信息后才能进入房间,并进行一系列的操作
退出登录接口,会有主动离开房间操作、销毁资源
设置本地用户名称和头像
获取本地用户登录的基本信息
设置本地用户信息
设置事件回调
移除事件回调
创建房间
解散房间
进入房间
进入房间
进入房间
离开房间
获取房间信息
更新房间名称(只有管理员或房主能够调用)
更新房间名称(只有管理员或房主能够调用)
设置本地用户视频渲染的视图控件
打开本地摄像头
关闭本地摄像头
开始推送本地视频。默认开启
停止推送本地视频
更新本地视频编码质量设置
设置视频编码器的编码参数
设置视频编码器分辨率模式(横屏分辨率 or 竖屏分辨率)
开启重力感应模式
开始屏幕分享(该接口仅支持移动端)
结束屏幕分享
打开本地麦克风
关闭本地麦克风
更新本地音频编码质量设置
暂停发布本地的音频流
恢复发布本地的音频流
设置远端用户视频渲染的视图控件
开始播放远端用户视频
停止播放远端用户视频
将远端用户静音
获取房间内的成员列表
获取成员信息
修改用户角色(只有管理员或房主能够调用)
将远端用户踢出房间(只有管理员或房主能够调用)
获取麦位列表
锁定麦位(只有管理员或群主能够调用,包括位置锁定、音频状态锁定和视频状态锁定)
上麦(上麦发言模式下,需要申请)
下麦
移麦
主持人/管理员 邀请用户上麦
主持人/管理员 将用户下麦
主持人/管理员 获取房间内申请上麦用户的请求列表
禁用远端用户的发送文本消息能力(只有管理员或房主能够调用)
取消请求
回复请求
设置美颜级别
设置美白级别
获取插件
获取设备管理类
获取连线管理类
调用实验性接口

sharedInstance

sharedInstance

创建 TUIRoomEngine 实例(单例模式)

注意
如果您使用 sharedInstance 获取 TUIRoomEngine 实例,并请使用 destroySharedInstance 释放对象指针。

destroySharedInstance

destroySharedInstance

销毁 TUIRoomEngine 实例(单例模式)

login

login
void login
(Context context

int sdkAppId

String userId

String userSig

TUIRoomDefine.ActionCallback callback)

登录接口,您需要先初始化用户信息后才能进入房间,并进行一系列的操作

若用户在线时被踢下线,SDK会通过 $TUIRoomObserver$ 中的 onKickedOffLine 回调通知您。
参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
context
仅适用于 Android 平台,SDK 内部会将其转化为 Android 平台的 ApplicationContext 用于调用 Android System API。
sdkAppId
它是腾讯云用于区分客户的唯一标识,进入腾讯云实时音视频 控制台创建应用,即可看到SDKAppId。
userId
用户ID,用于区分不同用户。
userSig
用户签名,用于腾讯云流量的认证。

logout

logout
void logout
(TUIRoomDefine.ActionCallback callback)

退出登录接口,会有主动离开房间操作、销毁资源

参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。

setSelfInfo

setSelfInfo
void setSelfInfo
(String userName

String avatarURL

TUIRoomDefine.ActionCallback callback)

设置本地用户名称和头像

参数
描述
avatarURL
用户头像URL地址。
callback
调用接口的回调,用于通知接口调用的成功或者失败。
userName
用户名称。

getSelfInfo

getSelfInfo

获取本地用户登录的基本信息

返回值说明:

LoginUserInfo 用户登录信息。

setSelfInfo

setSelfInfo
void setSelfInfo
(TUIRoomDefine.LoginUserInfo userInfo

TUIRoomDefine.ActionCallback callback)

设置本地用户信息

参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
userInfo
本地用户信息。

addObserver

addObserver
void addObserver
(TUIRoomObserver observer)

设置事件回调

您可以通过 TUIRoomObserver 获得各类事件通知(例如:错误码,远端用户进房,音视频状态参数等)。
参数
描述
observer
监听的实例。

removeObserver

removeObserver
void removeObserver
(TUIRoomObserver observer)

移除事件回调

参数
描述
observer
待移除的监听回调实例。

createRoom

createRoom
void createRoom
(TUIRoomDefine.RoomInfo roomInfo

TUIRoomDefine.ActionCallback callback)

创建房间

参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
roomInfo
房间信息,可以初始化房间的一些设置。

destroyRoom

destroyRoom
void destroyRoom
(TUIRoomDefine.ActionCallback callback)

解散房间

房间解散后,SDK会通过 $TUIRoomObserver$ 中的 onRoomDismissed 回调通知房间内用户。
参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。

enterRoom

enterRoom
void enterRoom
(String roomId

TUIRoomDefine.GetRoomInfoCallback callback)

进入房间

参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
roomId
房间ID。
注意
单设备允许同时进入的房间数限制,conference:1个,live: 3个。超过限制后,会退出最早加入的房间;
同账号多设备登录,只允许一个设备进入相同ID的会议房间,其他设备进入时,会踢掉较早进入的设备。
进入房间之后,SDK会通过 $TUIRoomObserver$ 中的 onRemoteUserEnterRoom 回调通知房间内用户。

enterRoom

enterRoom
void enterRoom
(String roomId

TUIRoomDefine.RoomType roomType

TUIRoomDefine.GetRoomInfoCallback callback)

进入房间

参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
roomId
房间ID。
roomType
房间类型。
注意
单设备允许同时进入的房间数限制,conference:1个,live: 3个。超过限制后,会退出最早加入的房间;
同账号多设备登录,只允许一个设备进入相同ID的会议房间,其他设备进入时,会踢掉较早进入的设备。
进入房间之后,SDK会通过 $TUIRoomObserver$ 中的 onRemoteUserEnterRoom 回调通知房间内用户。

enterRoom

enterRoom
void enterRoom
(String roomId

TUIRoomDefine.RoomType roomType

TUIRoomDefine.EnterRoomOptions options

TUIRoomDefine.GetRoomInfoCallback callback)

进入房间

参数
描述
options
进房参数。
roomId
房间ID。
roomType
房间类型。
注意
单设备允许同时进入的房间数限制,conference:1个,live: 3个。超过限制后,会退出最早加入的房间;
同账号多设备登录,只允许一个设备进入相同ID的会议房间,其他设备进入时,会踢掉较早进入的设备。
进入房间之后,SDK会通过 $TUIRoomObserver$ 中的 onRemoteUserEnterRoom 回调通知房间内用户。

exitRoom

exitRoom
void exitRoom
(boolean syncWaiting

TUIRoomDefine.ActionCallback callback)

离开房间

离开房间之后,SDK会通过 $TUIRoomObserver$ 中的 onRemoteUserLeaveRoom 回调通知房间内用户。
参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
syncWaiting
是否同步等待接口返回。

fetchRoomInfo

fetchRoomInfo
void fetchRoomInfo
(TUIRoomDefine.GetRoomInfoCallback callback)

获取房间信息

参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。

updateRoomNameByAdmin

updateRoomNameByAdmin
void updateRoomNameByAdmin
(String roomName

TUIRoomDefine.ActionCallback callback)

更新房间名称(只有管理员或房主能够调用)

房间名称更新后,SDK会通过 $TUIRoomObserver$ 中的 onRoomNameChanged 回调通知房间内用户。
参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
roomName
房间名称。

updateRoomSeatModeByAdmin

updateRoomSeatModeByAdmin
void updateRoomSeatModeByAdmin
(TUIRoomDefine.SeatMode seatMode

TUIRoomDefine.ActionCallback callback)

更新房间名称(只有管理员或房主能够调用)

房间上麦模式更新后,SDK会通过 $TUIRoomObserver$ 中的 onRoomSeatModeChanged 回调通知房间内用户。
参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
seatMode
FREE_TO_TAKE: 自由上麦模式, 台下观众可以自由上麦,无需申请;
APPLY_TO_TAKE: 申请上麦模式,台下观众上麦需要房主或者管理员同意后才能上麦。

setLocalVideoView

setLocalVideoView
void setLocalVideoView
(TUIVideoView view)

设置本地用户视频渲染的视图控件

参数
描述
view
视频渲染视图。

openLocalCamera

openLocalCamera
void openLocalCamera
(boolean isFront

TUIRoomDefine.VideoQuality quality

TUIRoomDefine.ActionCallback callback)

打开本地摄像头

在房间内打开本地摄像头后,默认推送本地视频流,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 回调通知房间内用户。
参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
isFront
true: 前置 false: 后置。 该参数只在移动端生效。

closeLocalCamera

closeLocalCamera

关闭本地摄像头

在房间内关闭本地摄像头后,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 回调通知房间内用户。

startPushLocalVideo

startPushLocalVideo

开始推送本地视频。默认开启

推送本地视频后,若您的本地摄像头已打开,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 回调通知房间内用户。

stopPushLocalVideo

stopPushLocalVideo

停止推送本地视频

停止推送本地视频后,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 回调通知房间内用户。

updateVideoQuality

updateVideoQuality
void updateVideoQuality
(TUIRoomDefine.VideoQuality quality)

更新本地视频编码质量设置

updateVideoQualityEx

updateVideoQualityEx
void updateVideoQualityEx
(TUIRoomDefine.VideoStreamType streamType

TUIRoomDefine.RoomVideoEncoderParams params)

设置视频编码器的编码参数

参数
描述
params
视频编码器的编码参数,定义可参见 RoomVideoEncoderParams 的定义。
streamType
视频流的类型,定义可参见 VideoStreamType 的定义。

setVideoResolutionMode

setVideoResolutionMode
void setVideoResolutionMode
(TUIRoomDefine.VideoStreamType streamType

TUIRoomDefine.ResolutionMode resolutionMode)

设置视频编码器分辨率模式(横屏分辨率 or 竖屏分辨率)

参数
描述
resolutionMode
分辨率模式,定义可参见 ResolutionMode 的定义。
streamType
视频流的类型,定义可参见 VideoStreamType 的定义。

enableGravitySensor

enableGravitySensor
void enableGravitySensor
(boolean enable)

开启重力感应模式

参数
描述
enable
true: 开启 false: 关闭
注意
开启该模式后,当前用户发布出去的视频画面会跟随设备的重力感应方向进行相应的调整,同时本地预览画面保持方向不变。

startScreenSharing

startScreenSharing

开始屏幕分享(该接口仅支持移动端)

开始屏幕共享之后,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 回调通知房间内用户。

stopScreenSharing

stopScreenSharing

结束屏幕分享

结束屏幕共享之后,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 回调通知房间内用户,同时也会通过 onUserScreenCaptureStopped 回调通知您。

openLocalMicrophone

openLocalMicrophone
void openLocalMicrophone
(TUIRoomDefine.AudioQuality quality

TUIRoomDefine.ActionCallback callback)

打开本地麦克风

在房间内打开本地麦克风后,SDK会通过 $TUIRoomObserver$ 中的 onUserAudioStateChanged 回调通知房间内用户。
参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
quality
音频质量。

closeLocalMicrophone

closeLocalMicrophone

关闭本地麦克风

在房间内关闭本地麦克风后,SDK会通过 $TUIRoomObserver$ 中的 onUserAudioStateChanged 回调通知房间内用户。

updateAudioQuality

updateAudioQuality
void updateAudioQuality
(TUIRoomDefine.AudioQuality quality)

更新本地音频编码质量设置

muteLocalAudio

muteLocalAudio

暂停发布本地的音频流

在房间内,若您已打开您的麦克风,调用此接口暂停发布本地的音频流后,SDK会通过 $TUIRoomObserver$ 中的 onUserAudioStateChanged 回调通知房间内用户。

unmuteLocalAudio

unmuteLocalAudio
void unmuteLocalAudio
(TUIRoomDefine.ActionCallback callback)

恢复发布本地的音频流

在房间内,若您已打开您的麦克风,调用此接口恢复发布本地的音频流后,SDK会通过 $TUIRoomObserver$ 中的 onUserAudioStateChanged 回调通知房间内用户。
参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。

setRemoteVideoView

setRemoteVideoView
void setRemoteVideoView
(String userId

TUIRoomDefine.VideoStreamType streamType

TUIVideoView view)

设置远端用户视频渲染的视图控件

参数
描述
streamType
视频流的类型,定义可参见 VideoStreamType 的定义。
userId
远端用户ID。
view
视频渲染视图。

startPlayRemoteVideo

startPlayRemoteVideo
void startPlayRemoteVideo
(String userId

TUIRoomDefine.VideoStreamType streamType

TUIRoomDefine.PlayCallback callback)

开始播放远端用户视频

参数
描述
callback
调用接口的回调,用于通知播放时的状态回调。
streamType
视频流的类型 详细定义可以参见 VideoStreamType 的定义。
userId
用户ID。

stopPlayRemoteVideo

stopPlayRemoteVideo
void stopPlayRemoteVideo
(String userId

TUIRoomDefine.VideoStreamType streamType)

停止播放远端用户视频

参数
描述
streamType
视频流的类型 详细定义可以参见 VideoStreamType 的定义。
userId
用户ID。

muteRemoteAudioStream

muteRemoteAudioStream
void muteRemoteAudioStream
(String userId

boolean isMute)

将远端用户静音

参数
描述
isMute
是否静音。
userId
用户ID。

getUserList

getUserList
void getUserList
(long nextSequence

TUIRoomDefine.GetUserListCallback callback)

获取房间内的成员列表

参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。成功回调中包含 UserInfo list。
nextSequence
分页拉取标志,第一次拉取填0,回调成功 如果callback返回的数据中 nextSequence 不为零,需要分页,传入再次拉取,直至为0。

getUserInfo

getUserInfo
void getUserInfo
(String userId

TUIRoomDefine.GetUserInfoCallback callback)

获取成员信息

参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
userId
用户ID。

changeUserRole

changeUserRole
void changeUserRole
(String userId

TUIRoomDefine.Role role

TUIRoomDefine.ActionCallback callback)

修改用户角色(只有管理员或房主能够调用)

修改用户角色后,SDK会通过 $TUIRoomObserver$ 中的 onUserInfoChanged 回调通知房间内用户。
参数
描述
role
用户角色 详细定义可以参见 Role 的定义。
userId
用户ID。

kickRemoteUserOutOfRoom

kickRemoteUserOutOfRoom
void kickRemoteUserOutOfRoom
(String userId

TUIRoomDefine.ActionCallback callback)

将远端用户踢出房间(只有管理员或房主能够调用)

将远端用户踢出房间后,SDK会通过 $TUIRoomObserver$ 中的 onKickedOutOfRoom 回调通知被踢出用户,同时会通过 onRemoteUserLeaveRoom 通知房间内用户。
参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
userId
用户ID。

getSeatList

getSeatList
void getSeatList
(TUIRoomDefine.GetSeatListCallback callback)

获取麦位列表

参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败,成功回调中会包含 SeatInfo list信息。

lockSeatByAdmin

lockSeatByAdmin
void lockSeatByAdmin
(int seatIndex

TUIRoomDefine.SeatLockParams lockParams

TUIRoomDefine.ActionCallback callback)

锁定麦位(只有管理员或群主能够调用,包括位置锁定、音频状态锁定和视频状态锁定)

参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
lockParams
锁麦参数。详情参见:TUIRoomDefine.SeatLockParams
seatIndex
麦位编号。

takeSeat

takeSeat
Request takeSeat
(int seatIndex

int timeout

TUIRoomDefine.RequestCallback callback)

上麦(上麦发言模式下,需要申请)

上麦成功后,SDK会通过 $TUIRoomObserver$ 中的 onSeatListChanged 通知房间内用户。
参数
描述
callback
调用接口的回调,用于通知请求的回调状态,详细定义参见: RequestCallback
seatIndex
麦位编号。
timeout
超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调。
注意
开启上麦发言模式时,需要向主持人或管理员发起申请才允许上麦。
开启自由发言模式,直播场景可以自由上麦,上麦后开麦发言,会议场景无需调用该接口,即可开麦发言。

返回值说明:

TUIRequest 请求体。

leaveSeat

leaveSeat
void leaveSeat
(TUIRoomDefine.ActionCallback callback)

下麦

下麦成功后,SDK会通过 $TUIRoomObserver$ 中的 onSeatListChanged 通知房间内用户。
参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。

moveToSeat

moveToSeat
void moveToSeat
(int targetSeatIndex

TUIRoomDefine.ActionCallback callback)

移麦

移麦成功后,SDK会通过 $TUIRoomObserver$ 中的 onSeatListChanged 通知房间内用户。

takeUserOnSeatByAdmin

takeUserOnSeatByAdmin
Request takeUserOnSeatByAdmin
(int seatIndex

String userId

int timeout

TUIRoomDefine.RequestCallback callback)

主持人/管理员 邀请用户上麦

接口调用成功后,SDK会通过 $TUIRoomObserver$ 中的 onRequestReceived 通知被邀请用户。
参数
描述
callback
调用接口的回调,用于通知请求的回调状态,详细定义参见: RequestCallback
seatIndex
麦位编号。未开启麦位,不关心麦位序列的情况下,填-1即可。
timeout
超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调。
userId
用户ID。

返回值说明:

TUIRequest 请求体。

kickUserOffSeatByAdmin

kickUserOffSeatByAdmin
void kickUserOffSeatByAdmin
(int seatIndex

String userId

TUIRoomDefine.ActionCallback callback)

主持人/管理员 将用户下麦

接口调用成功后,SDK会通过 $TUIRoomObserver$ 中的 onSeatListChanged 通知房间内用户。
参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
seatIndex
麦位编号。
userId
用户ID。

getSeatApplicationList

getSeatApplicationList
void getSeatApplicationList
(TUIRoomDefine.RequestListCallback callback)

主持人/管理员 获取房间内申请上麦用户的请求列表

disableSendingMessageByAdmin

disableSendingMessageByAdmin
void disableSendingMessageByAdmin
(String userId

boolean isDisable

TUIRoomDefine.ActionCallback callback)

禁用远端用户的发送文本消息能力(只有管理员或房主能够调用)

禁用远端用户的发送文本消息能力后,SDK会通过 $TUIRoomObserver$ 中的 onSendMessageForUserDisableChanged 通知被禁用用户。
参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
isDisable
是否禁用。
userId
用户ID。

cancelRequest

cancelRequest
void cancelRequest
(String requestId

TUIRoomDefine.ActionCallback callback)

取消请求

取消请求后,SDK会通过 $TUIRoomObserver$ 中的 onRequestCancelled 通知被请求用户。
参数
描述
callback
调用接口的回调,用于通知接口调用的成功或者失败。
requestId
请求ID(发送请求的接口返回或者OnRequestReceived事件通知)。
注意
可以使用此接口来取消已发出的请求。

responseRemoteRequest

responseRemoteRequest
void responseRemoteRequest
(String requestId

boolean agree

TUIRoomDefine.ActionCallback callback)

回复请求

参数
描述
agree
是否同意 true: 同意请求, false: 拒绝请求。
callback
调用接口的回调,用于通知接口调用的成功或者失败。
requestId
请求ID(发送请求的接口返回或者OnRequestReceived事件通知)。
注意
在收到信令请求时,可以使用此接口来回复接收到的请求。

setBeautyLevel

setBeautyLevel
void setBeautyLevel
(int beautyStyle

float beautyLevel)

设置美颜级别

参数
描述
beautyLevel
美颜级别,取值范围 0 - 9; 0 表示关闭,9 表示效果最明显。
beautyStyle
美颜风格,TXBeautyStyleSmooth:光滑;TXBeautyStyleNature:自然;TXBeautyStylePitu:优图。

setWhitenessLevel

setWhitenessLevel
void setWhitenessLevel
(float whitenessLevel)

设置美白级别

参数
描述
whitenessLevel
美白级别,取值范围 0 - 9;0 表示关闭,9 表示效果最明显。

getExtension

getExtension
Object getExtension
(TUICommonDefine.ExtensionType extensionType)

获取插件

参数
描述
extensionType
插件类型。

getMediaDeviceManager

getMediaDeviceManager

获取设备管理类

getLiveConnectionManager

getLiveConnectionManager

获取连线管理类

callExperimentalAPI

callExperimentalAPI
Object callExperimentalAPI
(String jsonStr)

调用实验性接口

参数
描述
jsonStr
接口信息。

返回值说明:

返回结果