tencent cloud

实时音视频

动态与公告
产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明
产品简介
产品概述
基本概念
产品功能
产品优势
应用场景
性能数据
购买指南
计费概述
免费时长说明
月订阅
现收现付
TRTC 逾期与暂停政策
常见问题解答
退款说明
新手指引
Demo 体验
视频通话 SDK
组件介绍
开通服务
跑通 Demo
快速接入
离线唤醒
会话聊天
云端录制
AI 降噪
界面定制
Chat 集成通话能力
更多特性
无 UI 集成
服务端 API
客户端 API
解决方案
错误码表
发布日志
常见问题
视频会议 SDK
组件介绍(TUIRoomKit)
开通服务(TUIRoomKit)
跑通 Demo(TUIRoomKit)
快速接入(TUIRoomKit)
屏幕共享(TUIRoomKit)
预定会议(TUIRoomKit)
会中呼叫(TUIRoomKit)
界面定制(TUIRoomKit)
虚拟背景(TUIRoomKit)
会议控制(TUIRoomKit)
云端录制(TUIRoomKit)
AI 降噪(TUIRoomKit)
会中聊天(TUIRoomKit)
机器人推流(TUIRoomKit)
更多特性(TUIRoomKit)
客户端 API(TUIRoomKit)
服务端 API(TUIRoomKit)
常见问题(TUIRoomKit)
错误码 (TUIRoomKit)
SDK更新日志(TUIRoomKit)
直播与语聊 SDK
Live 视频直播计费说明
组件介绍
开通服务(TUILiveKit)
跑通 Demo
无 UI 集成
UI 自定义
直播监播
视频直播
语聊房
高级功能
客户端 API
服务端 API
错误码
发布日志
常见问题
RTC Engine
开通服务
SDK 下载
API-Example
接入指引
API-参考手册
高级功能
AI 集成
概述
MCP 配置
Skills 配置
集成指南
常见问题
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
控制台指南
应用管理
套餐包管理
用量统计
监控仪表盘
开发辅助
解决方案
实时合唱
常见问题
迁移指南
计费相关
功能相关
UserSig 相关
应对防火墙限制相关
缩减安装包体积相关
Andriod 与 iOS 相关
Web 端相关
Flutter 相关
Electron 相关
TRTCCalling Web 相关
音视频质量相关
其他问题
旧版文档
RTC RoomEngine SDK(旧)
集成 TUIRoom (Web)
集成 TUIRoom (Android)
集成 TUIRoom (iOS)
集成 TUIRoom (Flutter)
集成 TUIRoom (Electron)
TUIRoom API 查询
实现云端录制与回放(旧)
监控仪表盘计费(旧)
协议与策略
安全合规认证
安全白皮书
信息安全说明
服务等级协议
苹果隐私策略:PrivacyInfo.xcprivacy
TRTC 政策
隐私协议
数据处理和安全协议
词汇表

TUIRoomEngine

PDF
聚焦模式
字号
最后更新时间: 2023-11-21 15:01:34

TUIRoomEngine API 简介

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

createInstance

创建 TUIRoomEngine 实例。
static TUIRoomEngine createInstance()
return:TUIRoomEngine 实例。

destroyInstance

销毁TUIRoomEngine实例。
void destroyInstance()

login

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

logout

退出登录接口,会有主动离开房间操作、销毁资源。
static Future<TUIActionCallback> logout()

setSelfInfo

设置本地用户名称和头像。
static Future<TUIActionCallback> setSelfInfo(String userName, String avatarURL)
参数:
参数
类型
含义
userName
String
用户名
avatarUrl
String
用户头像

setLoginUserInfo

设置登录用户信息。
static Future<TUIActionCallback> setLoginUserInfo(TUILoginUserInfo userInfo)
参数:
参数
类型
含义
userInfo
TUILoginUserInfo
用户信息

getSelfInfo

获取本地用户登录的基本信息。
static TUILoginUserInfo getSelfInfo()
return:用户登录信息。

addObserver

添加 TUIRoomEngine 事件回调。
void addObserver(TUIRoomObserver observer)
参数:
参数
类型
含义
observer
TUIRoomObserver
TUIRoomEngine 事件回调

removeObserver

移除 TUIRoomEngine 事件回调。
void removeObserver(TUIRoomObserver observer)
参数
类型
含义
observer
TUIRoomObserver
TUIRoomEngine 事件回调

createRoom

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

destroyRoom

销毁房间接口,销毁房间必须由房间所有者发起,销毁房间之后房间不可进入。
Future<TUIActionCallback> destroyRoom()

enterRoom

进入房间接口。
Future<TUIValueCallBack<TUIRoomInfo>> enterRoom(String roomId)
参数:
参数
类型
含义
roomId
String
房间号,字符串类型

exitRoom

离开房间接口,用户在执行 enterRoom 之后可通过 exitRoom 离开房间。
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


获取房间信息。
Future<TUIValueCallBack<TUIRoomInfo>> fetchRoomInfo()


updateRoomNameByAdmin


更新房间名称。
Future<TUIActionCallback> updateRoomNameByAdmin(String roomName)
参数:
参数
类型
含义
roomName
String
房间名称

updateRoomSpeechModeByAdmin

设置房间管理模式(只有管理员或群主能够调用)。
Future<TUIActionCallback> updateRoomSpeechModeByAdmin(TUISpeechMode mode)
参数
类型
含义
mode
房间模式

setLocalVideoView

设置本地用户视频渲染的视图控件。
void setLocalVideoView(int viewId)
参数:
参数
类型
含义
viewId
int
待渲染 view 指针的 int64 类型值,通过此 viewId 可转换为对应原生平台的视图,视频画面将渲染于此视图上

openLocalCamera

打开本地摄像头,开始视频流采集。
Future<TUIActionCallback> openLocalCamera(bool isFront,
TUIVideoQuality quality)
参数:
参数
类型
含义
isFront
bool
是否使用前置摄像头
quality
视频质量

closeLocalCamera

关闭本地摄像头。
void closeLocalCamera()


updateVideoQuality


设置本地视频的参数。
void updateVideoQuality(TUIVideoQuality quality)
参数:
参数
类型
含义
quality
视频质量

updateVideoQualityEx

设置本地视频编码器参数。
void updateVideoQualityEx(
TUIVideoStreamType streamType, TUIRoomVideoEncoderParams params);
参数
类型
含义
streamType
TUIVideoStreamType
视频流类型
params
TUIRoomVideoEncoderParams
视频编码器参数

setVideoResolutionMode

设置视频编码器分辨率模式(横屏分辨率 or 竖屏分辨率)。
void setVideoResolutionMode(
TUIVideoStreamType streamType, TUIResolutionMode resolutionMode);
参数
类型
含义
streamType
TUIVideoStreamType
视频流类型
resolutionMode
TUIResolutionMode
分辨率模式

enableGravitySensor

开启重力感应模式。
void enableGravitySensor(bool enable);
参数
类型
含义
enable
bool
是否开启

startPushLocalVideo

开始向远端推本地视频流。
void startPushLocalVideo()

stopPushLocalVideo

停止向远端推本地视频流。
void stopPushLocalVideo()

startScreenSharing

开始屏幕分享
Future<void> startScreenSharing({String appGroup = ''})

stopScreenSharing

结束屏幕分享
Future<void> stopScreenSharing()

openLocalMicrophone

打开本地麦克风。
Future<TUIActionCallback> openLocalMicrophone(TUIAudioQuality quality)
参数
类型
含义
quality
音频质量

closeLocalMicrophone

关闭本地麦克风。
void closeLocalMicrophone()

updateAudioQuality

更新本地音频编码质量设置。
void updateAudioQuality(TUIAudioQuality quality)
参数:
参数
类型
含义
quality
音频质量

muteLocalAudio

停止向远端推本地音频流。
Future<TUIActionCallback> muteLocalAudio()

unMuteLocalAudio

开始向远端推本地音频流。
Future<TUIActionCallback> unMuteLocalAudio()

setRemoteVideoView

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

startPlayRemoteVideo

开始播放远端用户视频流。
void startPlayRemoteVideo(String userId,
TUIVideoStreamType streamType,
TUIPlayCallback? callback)
参数:
参数
类型
含义
userId
String
用户 ID
streamType
用户流类型
callback
TUIPlayCallback?
播放结果回调

stopPlayRemoteVideo

停止播放远端用户视频流。
void stopPlayRemoteVideo(String userId,
TUIVideoStreamType streamType)
参数:
参数
类型
含义
userId
String
用户 ID
streamType
用户流类型

muteRemoteAudioStream

将远端用户禁音。
void muteRemoteAudioStream(String userId, boolean isMute);
参数:
参数
类型
含义
userId
String
用户 ID
isMute
bool
是否禁音

getUserList

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

getUserInfo

获取用户的详细信息。
Future<TUIValueCallBack<TUIUserInfo>> getUserInfo(String userId)
参数:
参数
类型
含义
userId
String
根据 userId 获取该用户的详细信息

changeUserRole

改变用户的角色,只有管理员或群主能够调用。
Future<TUIActionCallback> changeUserRole(String userId,
TUIRole role)
参数:
参数
类型
含义
userId
String
用户 ID
role
TUIRole
用户角色

kickRemoteUserOutOfRoom

将用户移出房间,只有管理员或群主能够调用。
Future<TUIActionCallback> kickRemoteUserOutOfRoom(String userId)
参数:
参数
类型
含义
userId
String
用户 ID

addCategoryTagForUsers

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

removeCategoryTagForUsers

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

getUserListByTag

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

disableDeviceForAllUserByAdmin

全体用户媒体设备管理,只有管理员或群主能够调用。
Future<TUIActionCallback> disableDeviceForAllUserByAdmin(TUIMediaDevice device,
bool isDisable)
参数
类型
含义
device
设备
isDisable
bool
是否禁用

openRemoteDeviceByAdmin

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

closeRemoteDeviceByAdmin

关闭远端用户媒体设备,只有管理员或群主能够调用。
Future<TUIActionCallback> closeRemoteDeviceByAdmin(String userId,
TUIMediaDevice device)
参数
类型
含义
userId
String
用户ID
device
设备

applyToAdminToOpenLocalDevice

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

setMaxSeatCount

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

lockSeatByAdmin

锁定麦位(包括位置锁定,音频状态锁定,视频状态锁定)。
Future<TUIActionCallback> lockSeatByAdmin(int seatIndex,
TUISeatLockParams lockParams)
参数
类型
含义
seatIndex
int
麦位编号
lockParams
锁麦参数

getSeatList

获取麦位列表。
Future<TUIValueCallBack<List<TUISeatInfo>>> getSeatList()

takeSeat

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

leaveSeat

本地下麦。
Future<TUIActionCallback> leaveSeat()

takeUserOnSeatByAdmin

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

kickUserOffSeatByAdmin

主持人/管理员 将用户下麦。
Future<TUIActionCallback> kickUserOffSeatByAdmin(int seatIndex,
String userId)
参数
类型
含义
seatIndex
int
麦位编号
userId
String
用户 ID

sendTextMessage

发送文本消息。
Future<TUIActionCallback> sendTextMessage(String message)
参数:
参数
类型
含义
message
String
文本消息内容

sendCustomMessage

发送自定义消息。
Future<TUIActionCallback> sendCustomMessage(String message)
参数:
参数
类型
含义
message
String
自定义消息内容

disableSendingMessageByAdmin

禁用远端用户的发送文本消息能力(只有管理员或群主能够调用)。
Future<TUIActionCallback> disableSendingMessageByAdmin(String userId,
bool isDisable)
参数
类型
含义
userId
String
用户 ID
isDisable
bool
是否禁用

disableSendingMessageForAllUser

禁用所有用户的发送文本消息能力(只有管理员或群主能够调用)。
Future<TUIActionCallback> disableSendingMessageForAllUser(bool isDisable)
参数
类型
含义
isDisable
bool
是否禁用

cancelRequest

取消已经发出的请求。
Future<TUIActionCallback> cancelRequest(String requestId)
参数:
参数
类型
含义
requestId
String
请求 ID

responseRemoteRequest

回复远端用户的请求。
Future<TUIActionCallback> responseRemoteRequest(String requestId,
bool agree)
参数:
参数
类型
含义
requestId
String
请求 ID
agree
bool
是否同意

callExperimentalAPI

调用实验性接口。
void callExperimentalAPI(String jsonStr);
参数
类型
含义
jsonStr
String
接口信息

switchCamera

切换前置或后置摄像头(仅适用于移动端)。
Future<int?> switchCamera(bool isFrontCamera);
参数
类型
含义
isFrontCamera
bool
是否前置

setBeautyLevel

设置美颜级别。
void setBeautyLevel(int beautyStyle, int beautyLevel);
参数
类型
含义
beautyStyle
int
美颜风格
beautyLevel
int
美颜级别

setWhitenessLevel

设置美白级别。
void setWhitenessLevel(int whitenessLevel);
参数
类型
含义
whitenessLevel
int
美白级别


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈