TUIRoomEngine

最近更新时间:2024-09-20 21:28:33

我的收藏

TUIRoomEngine API 简介

TUIRoomEngine API 是多人音视频房间的无 UI 接口,您可以使用这套 API 根据您的业务需求自定义封装。

sharedInstance

创建 TUIRoomEngine 实例。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
static TUIRoomEngine sharedInstance()
return:TUIRoomEngine 实例。

destroySharedInstance

销毁TUIRoomEngine实例。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void destroySharedInstance()

login

登录 roomEngine 接口,您需要先初始化用户信息后才能进入房间,并进行一系列的操作。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
static Future<TUIActionCallback> login(int sdkAppId,
String userId,
String userSig)
参数:
参数
类型
含义
sdkAppId
int
应用信息中获取 sdkAppId 信息
userId
String
用户 ID
userSig
String
userSig 签名。计算 userSig 的方式请参考UserSig 相关

logout

退出登录接口,会有主动离开房间操作、销毁资源。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
static Future<TUIActionCallback> logout()

setSelfInfo

设置本地用户名称和头像。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
static Future<TUIActionCallback> setSelfInfo(String userName, String avatarURL)
参数:
参数
类型
含义
userName
String
用户名
avatarUrl
String
用户头像

setLoginUserInfo

设置登录用户信息。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
static Future<TUIActionCallback> setLoginUserInfo(TUILoginUserInfo userInfo)
参数:
参数
类型
含义
userInfo
TUILoginUserInfo
用户信息

getSelfInfo

获取本地用户登录的基本信息。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
static TUILoginUserInfo getSelfInfo()
return:用户登录信息。

addObserver

添加 TUIRoomEngine 事件回调。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void addObserver(TUIRoomObserver observer)
参数:
参数
类型
含义
observer
TUIRoomObserver
TUIRoomEngine 事件回调

removeObserver

移除 TUIRoomEngine 事件回调。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void removeObserver(TUIRoomObserver observer)
参数
类型
含义
observer
TUIRoomObserver
TUIRoomEngine 事件回调

createRoom

主持人创建房间,调用 createRoom 的用户为房间的所有者。创建房间时可设置房间 ID、房间名称、以及房间是否允许加入用户开启音视频、发送消息等功能。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> createRoom(TUIRoomInfo roomInfo)
参数:
参数
类型
含义
roomInfo
房间基本信息

destroyRoom

销毁房间接口,销毁房间必须由房间所有者发起,销毁房间之后房间不可进入。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> destroyRoom()

enterRoom

进入房间接口。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIValueCallBack<TUIRoomInfo>> enterRoom(String roomId,{TUIRoomType roomType = TUIRoomType.conference,TUIEnterRoomOptions? options})
参数:
参数
类型
含义
roomId
String
房间号,字符串类型
roomType
TUIRoomType
房间类型
options
TUIEnterRoomOptions
进房可选参数

exitRoom

离开房间接口,用户在执行 enterRoom 之后可通过 exitRoom 离开房间。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> exitRoom(bool syncWaiting)
参数:
参数
类型
含义
syncWaiting
bool
是否同步退出房间

connectOtherRoom

连接其他房间。
说明:
用于直播场景下的申请跨房连麦。
TUIRequest connectOtherRoom(String roomId,
String userId,
int timeout,
TUIRequestCallback? requestCallback)
参数:
参数
类型
含义
roomId
String
房间 ID
userId
String
用户 ID
timeout
int
时间
callback
TUIRequestCallback
连接其他房间请求回调
Return:请求体

disconnectOtherRoom

断开与其他房间的连接。
说明:
用于直播场景下的断开跨房连麦。
Future<TUIActionCallback> disconnectOtherRoom()


fetchRoomInfo


获取房间信息。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIValueCallBack<TUIRoomInfo>> fetchRoomInfo()


updateRoomNameByAdmin


更新房间名称。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> updateRoomNameByAdmin(String roomName)
参数:
参数
类型
含义
roomName
String
房间名称

updateRoomSeatModeByAdmin

设置房间上麦模式(只有管理员或群主能够调用)。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> updateRoomSeatModeByAdmin(TUISeatMode mode)
参数
类型
含义
mode
房间模式

setLocalVideoView

设置本地用户视频渲染的视图控件。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void setLocalVideoView(int viewId)
参数:
参数
类型
含义
viewId
int
待渲染 view 指针的 int64 类型值,通过此 viewId 可转换为对应原生平台的视图,视频画面将渲染于此视图上

openLocalCamera

打开本地摄像头,开始视频流采集。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> openLocalCamera(bool isFront,
TUIVideoQuality quality)
参数:
参数
类型
含义
isFront
bool
是否使用前置摄像头
quality
视频质量

closeLocalCamera

关闭本地摄像头。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void closeLocalCamera()


updateVideoQuality


设置本地视频的参数。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void updateVideoQuality(TUIVideoQuality quality)
参数:
参数
类型
含义
quality
视频质量

updateVideoQualityEx

设置本地视频编码器参数。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void updateVideoQualityEx(
TUIVideoStreamType streamType, TUIRoomVideoEncoderParams params);
参数
类型
含义
streamType
TUIVideoStreamType
视频流类型
params
TUIRoomVideoEncoderParams
视频编码器参数

setVideoResolutionMode

设置视频编码器分辨率模式(横屏分辨率 or 竖屏分辨率)。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void setVideoResolutionMode(
TUIVideoStreamType streamType, TUIResolutionMode resolutionMode);
参数
类型
含义
streamType
TUIVideoStreamType
视频流类型
resolutionMode
TUIResolutionMode
分辨率模式

enableGravitySensor

开启重力感应模式。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void enableGravitySensor(bool enable);
参数
类型
含义
enable
bool
是否开启

startPushLocalVideo

开始向远端推本地视频流。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void startPushLocalVideo()

stopPushLocalVideo

停止向远端推本地视频流。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void stopPushLocalVideo()

startScreenSharing

开始屏幕分享
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<void> startScreenSharing({String appGroup = ''})

stopScreenSharing

结束屏幕分享
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<void> stopScreenSharing()

openLocalMicrophone

打开本地麦克风。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> openLocalMicrophone(TUIAudioQuality quality)
参数
类型
含义
quality
音频质量

closeLocalMicrophone

关闭本地麦克风。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void closeLocalMicrophone()

updateAudioQuality

更新本地音频编码质量设置。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void updateAudioQuality(TUIAudioQuality quality)
参数:
参数
类型
含义
quality
音频质量

muteLocalAudio

停止向远端推本地音频流。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> muteLocalAudio()

unMuteLocalAudio

开始向远端推本地音频流。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> unMuteLocalAudio()

setRemoteVideoView

设置远端用户视频渲染的视图控件。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void setRemoteVideoView(String userId,
TUIVideoStreamType streamType,
int viewId)
参数:
参数
类型
含义
userId
String
用户 ID
streamType
用户流类型
viewId
int
待渲染 view 指针的 int64 类型值,通过此 viewId 可转换为对应原生平台的视图,视频画面将渲染于此视图上

startPlayRemoteVideo

开始播放远端用户视频流。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void startPlayRemoteVideo(String userId,
TUIVideoStreamType streamType,
TUIPlayCallback? callback)
参数:
参数
类型
含义
userId
String
用户 ID
streamType
用户流类型
callback
TUIPlayCallback?
播放结果回调

stopPlayRemoteVideo

停止播放远端用户视频流。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void stopPlayRemoteVideo(String userId,
TUIVideoStreamType streamType)
参数:
参数
类型
含义
userId
String
用户 ID
streamType
用户流类型

muteRemoteAudioStream

将远端用户禁音。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void muteRemoteAudioStream(String userId, boolean isMute);
参数:
参数
类型
含义
userId
String
用户 ID
isMute
bool
是否禁音

getUserList

获取当前房间用户列表,注意该接口一次拉取的用户列表量最大为 100 个。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIValueCallBack<TUIUserListResult>> getUserList(int nextSequence)
参数:
参数
类型
含义
nextSequence
int
分页拉取标志,第一次拉取填0。回调成功如果 nextSeq 不为零,需要分页,传入 nextSeq 再次拉取,直至 callback 中 nextSeq 为0

getUserInfo

获取用户的详细信息。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIValueCallBack<TUIUserInfo>> getUserInfo(String userId)
参数:
参数
类型
含义
userId
String
根据 userId 获取该用户的详细信息

changeUserRole

改变用户的角色,只有管理员或群主能够调用。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> changeUserRole(String userId,
TUIRole role)
参数:
参数
类型
含义
userId
String
用户 ID
role
TUIRole
用户角色

changeUserNameCard

改变房间内用户昵称。
说明:
此函数仅适用于会议房间类型(conference)。
Future<TUIActionCallback> changeUserNameCard(String userId, String nameCard);
参数:
参数
类型
含义
userId
String
用户 ID
nameCard
String
用户昵称

kickRemoteUserOutOfRoom

将用户移出房间,只有管理员或群主能够调用。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> kickRemoteUserOutOfRoom(String userId)
参数:
参数
类型
含义
userId
String
用户 ID

addCategoryTagForUsers

为用户增加标记,只有房主能够调用。
说明:
此函数仅适用于会议房间类型(conference)。
Future<TUIActionCallback> addCategoryTagForUsers(int tag, List<String> userList);
参数:
参数
类型
含义
tag
int
标记类型。数字类型,大于等于 1000,您可以自定义。
userList
List<String>
用户列表

removeCategoryTagForUsers

为用户移除标记,只有房主能够调用。
说明:
此函数仅适用于会议房间类型(conference)。
Future<TUIActionCallback> removeCategoryTagForUsers(int tag, List<String> userList);
参数:
参数
类型
含义
tag
int
类型。数字类型,大于等于 1000,您可以自定义。
userList
List<String>
用户列表

getUserListByTag

根据标记获取房间内用户信息
为用户移除标记,只有房主能够调用。
说明:
此函数仅适用于会议房间类型(conference)。
Future<TUIValueCallBack<TUIUserListResult>> getUserListByTag(int tag, int nextSequence);
参数:
参数
类型
含义
tag
int
类型。数字类型,大于等于 1000,您可以自定义。
nextSequence
int
分页拉取标志,第一次拉取填0,回调成功,如果 callback 返回的数据中 nextSequence 不为零,需要分页,传入再次拉取,直至为0

setCustomInfoForUser

设置房间内成员自定义信息
说明:
此函数仅适用于会议房间类型(conference)。
Future<TUIActionCallback> setCustomInfoForUser(String userId,HashMap<String, String> customInfo);
参数:
参数
类型
含义
userId
String
用户userId
customInfo
HashMap<String, String>
自定义信息

disableDeviceForAllUserByAdmin

全体用户媒体设备管理,只有管理员或群主能够调用。
说明:
此函数仅适用于会议房间类型(conference)。
Future<TUIActionCallback> disableDeviceForAllUserByAdmin(TUIMediaDevice device,
bool isDisable)
参数
类型
含义
device
设备
isDisable
bool
是否禁用

openRemoteDeviceByAdmin

请求远端用户打开媒体设备,只有管理员或群主能够调用。
说明:
此函数仅适用于会议房间类型(conference)。
TUIRequest openRemoteDeviceByAdmin(String userId,
TUIMediaDevice device,
int timeout,
TUIRequestCallback? requestCallback)
参数
类型
含义
userId
String
用户 ID
device
设备
timeout
int
超时时间,单位秒。如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
requestCallback
TUIRequestCallback?
操作结果回调

closeRemoteDeviceByAdmin

关闭远端用户媒体设备,只有管理员或群主能够调用。
说明:
此函数仅适用于会议房间类型(conference)。
Future<TUIActionCallback> closeRemoteDeviceByAdmin(String userId,
TUIMediaDevice device)
参数
类型
含义
userId
String
用户ID
device
设备

applyToAdminToOpenLocalDevice

全体用户媒体设备管理 lock。
说明:
此函数仅适用于会议房间类型(conference)。
TUIRequest applyToAdminToOpenLocalDevice(TUIMediaDevice device,
int timeout,
TUIRequestCallback? requestCallback)
参数
类型
含义
device
设备
timeout
int
超时时间,单位秒。如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
callback
TUIRequestCallback?
操作结果回调

setMaxSeatCount

设置最大麦位数,仅支持进房前和创建房间时设置。
Future<TUIActionCallback> setMaxSeatCount(int maxSeatCount)
参数
类型
含义
maxSeatCount
int
最大麦位数


getSeatApplicationList


主持人/管理员获取房间内申请上麦用户的请求列表。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIValueCallBack<List<TUIRequest>>> getSeatApplicationList();

lockSeatByAdmin

锁定麦位(包括位置锁定,音频状态锁定,视频状态锁定)。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> lockSeatByAdmin(int seatIndex,
TUISeatLockParams lockParams)
参数
类型
含义
seatIndex
int
麦位编号
lockParams
锁麦参数

getSeatList

获取麦位列表。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIValueCallBack<List<TUISeatInfo>>> getSeatList()

takeSeat

本地上麦。
说明:
会议场景:applyToSpeak 模式需要向主持人或管理员发起申请才允许上麦,其他模式不支持上麦。
直播场景:freeToSpeak 模式可以自由上麦,上麦后开麦发言;applySpeakAfterTakingSeat 模式需要向主持人或管理员发起申请才允许上麦;其他模式不支持上麦。
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
TUIRequest takeSeat(int seatIndex,
int timeout,
TUIRequestCallback? requestCallback)
参数:
参数
类型
含义
seatIndex
int
麦位编号
timeout
int
超时时间,单位秒。如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
requestCallback
TUIRequestCallback?
调用接口的回调,用于通知请求的回调状态
Return: 请求体

leaveSeat

本地下麦。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> leaveSeat()

moveToSeat

移麦。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> moveToSeat(int targetSeatIndex);
参数
类型
含义
seatIndex
int
麦位编号

takeUserOnSeatByAdmin

主持人/管理员 邀请用户上麦。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
TUIRequest takeUserOnSeatByAdmin(int seatIndex,
String userId,
int timeout,
TUIRequestCallback? requestCallback)
参数
类型
含义
seatIndex
int
麦位编号
userId
String
用户 ID
timeout
int
超时时间,单位秒。如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
requestCallback
TUIRequestCallback?
调用接口的回调,用于通知请求的回调状态
Return: 请求体

kickUserOffSeatByAdmin

主持人/管理员 将用户下麦。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> kickUserOffSeatByAdmin(int seatIndex,
String userId)
参数
类型
含义
seatIndex
int
麦位编号
userId
String
用户 ID

disableSendingMessageByAdmin

禁用远端用户的发送文本消息能力(只有管理员或群主能够调用)。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> disableSendingMessageByAdmin(String userId,
bool isDisable)
参数
类型
含义
userId
String
用户 ID
isDisable
bool
是否禁用

disableSendingMessageForAllUser

禁用所有用户的发送文本消息能力(只有管理员或群主能够调用)。
说明:
此函数仅适用于会议房间类型(conference)。
Future<TUIActionCallback> disableSendingMessageForAllUser(bool isDisable)
参数
类型
含义
isDisable
bool
是否禁用

cancelRequest

取消已经发出的请求。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> cancelRequest(String requestId)
参数:
参数
类型
含义
requestId
String
请求 ID

responseRemoteRequest

回复远端用户的请求。
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
Future<TUIActionCallback> responseRemoteRequest(String requestId,
bool agree)
参数:
参数
类型
含义
requestId
String
请求 ID
agree
bool
是否同意

callExperimentalAPI

调用实验性接口
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void callExperimentalAPI(String jsonStr);
参数
类型
含义
jsonStr
String
接口信息

setBeautyLevel

设置美颜级别
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void setBeautyLevel(int beautyStyle, int beautyLevel);
参数
类型
含义
beautyStyle
int
美颜风格
beautyLevel
int
美颜级别

setWhitenessLevel

设置美白级别
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
void setWhitenessLevel(int whitenessLevel);
参数
类型
含义
whitenessLevel
int
美白级别

getExtension

获取插件
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
dynamic getExtension(TUIExtensionType extensionType);
参数
类型
含义
extensionType
TUIExtensionType
插件类型

getMediaDeviceManager

获取设备管理类
说明:
此函数适用于会议房间类型和直播房间类型(conference & livingRoom)。
TUIRoomDeviceManager getMediaDeviceManager();