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 政策
隐私协议
数据处理和安全协议
词汇表

RoomKit API

PDF
聚焦模式
字号
最后更新时间: 2024-10-15 17:23:27

API 简介

TUIRoomKit API 是多人会议组件的含 UI 接口,使用 TUIRoomKit API,您可以通过简单接口快速实现一个类会议场景,更详细的接入步骤,详见:快速接入 TUIRoomKit

API 概览

<ConferenceMainView />: TUIRoomkit UI 组件主体。
Conference:依赖ConferenceMainView 提供的 API。
API
描述
获取 roomEngine 实例。如果 roomEngine 不存在,则返回 null。
on
监听指定类型的事件。当事件发生时,将调用回调函数。
off
取消监听指定类型的事件。
login
登录会议系统。
logout
登出会议系统。
start
开始一个新的会议。
join
加入一个已经存在的会议。
leave
离开当前会议。
dismiss
解散当前会议。
设置自己的用户信息。
设置界面语言。
setTheme
设置界面主题。
开启应用程序中的文字水印功能。具体详见:文字水印
禁用应用程序中的文本消息功能。调用此函数后,用户将无法发送或接收文本消息。
禁用应用程序中的屏幕共享功能。调用此函数后,用户将无法与他人共享屏幕。
隐藏应用程序中的特定功能按钮。调用此函数并传入适当的 FeatureButton 枚举值后,相应的按钮将从用户界面中隐藏。

ConferenceMainView 属性介绍

属性概览

属性
描述
类型
是否必填
默认值
displayMode
组件显示模式控制:
permanent:常驻模式。组件始终显示,内部不控制组件的显示与隐藏,若业务端不进行控制,则组件一直保持显示状态。
wake-up:唤醒模式。组件需通过调用 conference start/join接口并正式加入会议后才被激活,之前不会显示。
'permanent' | 'wake-up'
permanent

示例代码

Vue3
Vue2
<template>
<ConferenceMainView display-mode="permanent"></ConferenceMainView>
</template>
<script setup>
import { ConferenceMainView, conference } from '@tencentcloud/roomkit-electron-vue3';
const init = async () => {
await conference.login({
// 获取 sdkAppId 可参考文档开通服务部分,https://write.woa.com/document/139678220708134912#d9d2b8d1-f19f-441b-a436-457748c94997
sdkAppId: 0,
// 用户在您业务中的唯一标示 Id
userId: '',
// 本地开发调试可在 https://console.tencentcloud.com/trtc/usersigtool 页面快速生成 userSig, 注意 userSig 与 userId 为一一对应关系
userSig: '',
});
await conference.start('123456', {
isSeatEnable: false,
isOpenCamera: true,
isOpenMicrophone: true,
});
}
init();
</script>
<template>
<ConferenceMainView display-mode="permanent"></ConferenceMainView>
</template>
<script>
import { ConferenceMainView, conference } from '@tencentcloud/roomkit-electron-vue2.7';
export default {
components: {
ConferenceMainView,
},
async created() {
await conference.login({
// 获取 sdkAppId 可参考文档开通服务部分,https://write.woa.com/document/139678220708134912#d9d2b8d1-f19f-441b-a436-457748c94997
sdkAppId: 0,
// 用户在您业务中的唯一标示 Id
userId: '',
// 本地开发调试可在 https://console.tencentcloud.com/trtc/usersigtool 页面快速生成 userSig, 注意 userSig 与 userId 为一一对应关系
userSig: '',
});
await conference.start('123456', {
isSeatEnable: false,
isOpenCamera: true,
isOpenMicrophone: true,
});
},
};
</script>

Conference API 详情

Conference 提供了一系列用于管理和控制在线会议功能的方法。通过实现这个接口,开发者可以方便地在他们的应用中集成在线会议的功能。

getRoomEngine

获取 roomEngine 实例。如果 roomEngine 不存在,则返回 null。
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference, TUIRoomEngine } from '@tencentcloud/roomkit-electron-vue3';
TUIRoomEngine.once('ready', () => {
const roomEngine = conference.getRoomEngine();
});
Returns:TUIRoomEngine | null

on

监听指定类型的事件。当事件发生时,将调用回调函数。
参数:
参数
类型
默认值
含义
eventType
RoomEvent
-
要监听的事件类型
callback
() => void
-
事件发生时调用的回调函数
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference, RoomEvent } from '@tencentcloud/roomkit-electron-vue3';
conference.on(RoomEvent.RoomStart, () => {
console.log('[conference] The meeting has already started.')
});
conference.on(RoomEvent.ROOM_DISMISS, () => {
console.log('[conference] The meeting has been dismissed')
});
Returns:void

off

取消监听指定类型的事件。
参数:
参数
类型
默认值
含义
eventType
RoomEvent
-
要取消监听的事件类型
callback
() => void
-
之前添加的回调函数
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference } from '@tencentcloud/roomkit-electron-vue3';
conference.off('event', callback);
Returns:void

login

登录会议系统。
参数:
参数
类型
默认值
含义
params
{sdkAppId: number; userId: string; userSig: string; tim?: ChatSDK}
-
登录参数对象
sdkAppId
number
-
实时音视频控制台单击 应用管理 > 创建应用,创建新应用之后,即可在 应用信息 中获取 sdkAppId 信息。
userId
string
-
用户ID建议限制长度为32字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。
userSig
string
-
userSig 签名 计算 userSig 的方式请参考 UserSig 相关
tim
ChatSDK (可选)
-
若您在接入 roomEngine 的同时想使用即时通信 SDK 的更多能力,您可以将创建的 tim 实例传入 TUIRoomEngine。tim 实例的创建方式请参考 TIM.create
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference } from '@tencentcloud/roomkit-electron-vue3';
conference.login({
sdkAppId: 123456,
userId: 'testUser',
userSig: 'testSig'
});
Returns:Promise<void>

logout

登出会议系统。
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference } from '@tencentcloud/roomkit-electron-vue3';
conference.logout();
Returns:Promise<void>

start

开始一个新的会议。
参数:
参数
类型
默认值
含义
roomId
string
-
会议房间 ID
params
-
开始会议的参数
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference } from '@tencentcloud/roomkit-electron-vue3';
conference.start('123456', {
roomName: 'TestRoom',
isSeatEnabled: false,
isOpenCamera: false,
isOpenMicrophone: false,
});
Returns:Promise<void>

join

加入一个已经存在的会议。
参数:
参数
类型
默认值
含义
roomId
string
-
会议房间 ID
params
-
加入会议的参数
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference } from '@tencentcloud/roomkit-electron-vue3';
conference.join('123456', {
isOpenCamera: false,
isOpenMicrophone: false,
});
Returns:Promise<void>

leave

离开当前会议。
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference } from '@tencentcloud/roomkit-electron-vue3';
conference.leave();
Returns:Promise<void>

dismiss

解散当前会议。
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference } from '@tencentcloud/roomkit-electron-vue3';
conference.dismiss();
Returns:Promise<void>

setSelfInfo

设置自己的用户信息。
参数:
参数
类型
默认值
含义
options
{userName: string; avatarUrl: string}
-
用户信息对象
userName
string(可选)
-
用户昵称
avatarUrl
string(可选)
-
用户头像
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference } from '@tencentcloud/roomkit-electron-vue3';
conference.setSelfInfo({
userName: 'test-name',
avatarUlr: 'https://avatar.png'
});
Returns:Promise<void>

setLanguage

设置界面语言。
参数:
参数
类型
默认值
含义
language
'zh-CN' | 'en-US'
-
语言类型
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference } from '@tencentcloud/roomkit-electron-vue3';
conference.setLanguage('en-US');
Returns:void

setTheme

设置界面主题。
参数:
参数
类型
默认值
含义
theme
'LIGHT' | 'DARK'
-
主题类型
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference } from '@tencentcloud/roomkit-electron-vue3';
conference.setTheme('DARK');
Returns:void

enableWatermark

开启应用程序中的文本消息功能。具体详见:文字水印
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference } from '@tencentcloud/roomkit-electron-vue3';
conference.enableWatermark();
Returns:void

disableTextMessaging

禁用应用程序中的文本消息功能。调用此函数后,用户将无法发送或接收文本消息。
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference } from '@tencentcloud/roomkit-electron-vue3';
conference.disableTextMessaging();
Returns:void

disableScreenSharing

禁用应用程序中的屏幕共享功能。调用此函数后,用户将无法与他人共享屏幕。
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference } from '@tencentcloud/roomkit-electron-vue3';
conference.disableScreenSharing();
Returns:void

hideFeatureButton

隐藏应用程序中的特定功能按钮。调用此函数并传入适当的 FeatureButton 枚举值后,相应的按钮将从用户界面中隐藏。
参数:
参数
类型
默认值
含义
name
-
需要隐藏的按钮名称
// 注意包的名称,如果您使用 vue2 版本请更改包名为 @tencentcloud/roomkit-electron-vue2.7
import { conference, FeatureButton } from '@tencentcloud/roomkit-electron-vue3';
conference.hideFeatureButton(FeatureButton.SwitchTheme);
Returns:void

类型定义

RoomEvent(枚举值)

参数
类型
描述
ROOM_START
string
创建会议
ROOM_JOIN
string
加入会议
ROOM_LEAVE
string
离开会议
ROOM_DISMISS
string
会议解散
KICKED_OFFLINE
string
用户被踢下线
KICKED_OUT
string
用户被踢出会议
USER_LOGOUT
string
用户登出
ROOM_ERROR
string
会议错误
ROOM_NEED_PASSWORD
string
入会密码

FeatureButton(枚举值)

参数
类型
描述
SwitchTheme
string
切换主题功能按钮
SwitchLayout
string
切换布局功能按钮
SwitchLanguage
string
切换语言功能按钮
FullScreen
string
全屏功能按钮
Invitation
string
邀请功能按钮
BasicBeauty
string
基础美颜功能按钮

StartParams

参数
类型
描述
默认值
roomName
string(可选)
房间名称
-
isSeatEnabled
boolean(可选)
是否启用席位
false
isOpenCamera
boolean(可选)
是否开启摄像头
false
isOpenMicrophone
boolean(可选)
是否开启麦克风
false
defaultCameraId
string(可选)
默认摄像头ID
-
defaultMicrophoneId
string(可选)
默认麦克风ID
-
defaultSpeakerId
string(可选)
默认扬声器ID
-
password
string(可选)
入会密码
-

JoinParams

参数
类型
描述
默认值
isOpenCamera
boolean(可选)
是否开启摄像头
false
isOpenMicrophone
boolean(可选)
是否开启麦克风
false
defaultCameraId
string(可选)
默认摄像头ID
-
defaultMicrophoneId
string(可选)
默认麦克风ID
-
defaultSpeakerId
string(可选)
默认扬声器ID
-
password
string(可选)
入会密码
-

帮助和支持

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

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

文档反馈