LiveKit API

API 简介

TUILiveKit API 是直播组件的含 UI 接口,使用 TUILiveKit API,您可以通过简单接口快速实现一个直播场景,更详细的接入步骤,详见:快速接入 TUILiveKit

API 概览

<LiveMainView />: TUILiveKit UI 组件主体。
liveRoom:依赖LiveMainView 提供的 API。
API
描述
获取 roomEngine 实例。如果 roomEngine 不存在,则返回 null。
on
监听指定类型的事件。当事件发生时,将调用回调函数。
off
取消监听指定类型的事件。
login
登录直播系统。
logout
登出直播系统。
start
开始一个新的直播。
join
加入一个已经存在的直播。
leave
离开当前直播。
dismiss
解散当前直播。
设置自己的用户信息。
设置界面语言。
setTheme
设置界面主题。

liveRoom API 详情

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

getRoomEngine

获取 roomEngine 实例。如果 roomEngine 不存在,则返回 null。
import { liveRoom, TUIRoomEngine } from '@tencentcloud/livekit-web-vue3';
TUIRoomEngine.once('ready', () => {
const roomEngine = liveRoom.getRoomEngine();
});
Returns:TUIRoomEngine | null

on

监听指定类型的事件。当事件发生时,将调用回调函数。
参数:
参数
类型
默认值
含义
eventType
RoomEvent
-
要监听的事件类型
callback
() => void
-
事件发生时调用的回调函数
import { liveRoom, RoomEvent } from '@tencentcloud/livekit-web-vue3';
liveRoom.on(RoomEvent.RoomStart, () => {
console.log('[liveRoom] The live has already started.')
});
liveRoom.on(RoomEvent.ROOM_DISMISS, () => {
console.log('[liveRoom] The live has been dismissed')
});
Returns:void

off

取消监听指定类型的事件。
参数:
参数
类型
默认值
含义
eventType
RoomEvent
-
要取消监听的事件类型
callback
() => void
-
之前添加的回调函数
import { liveRoom } from '@tencentcloud/livekit-web-vue3';
liveRoom.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
import { liveRoom } from '@tencentcloud/livekit-web-vue3';
liveRoom.login({
sdkAppId: 123456,
userId: 'testUser',
userSig: 'testSig'
});
Returns:Promise<void>

logout

登出直播系统。
import { liveRoom } from '@tencentcloud/livekit-web-vue3';
liveRoom.logout();
Returns:Promise<void>

start

开始一个新的直播。
参数:
参数
类型
默认值
含义
roomId
string
-
直播房间 ID
params
-
开始直播的参数
import { liveRoom } from '@tencentcloud/livekit-web-vue3';
liveRoom.start('123456', {
roomName: 'TestRoom',
isOpenCamera: false,
isOpenMicrophone: false,
});
Returns:Promise<void>

join

加入一个已经存在的直播。
参数:
参数
类型
默认值
含义
roomId
string
-
直播房间 ID
params
-
加入直播的参数
import { liveRoom } from '@tencentcloud/livekit-web-vue3';
liveRoom.join('123456', {
isOpenCamera: false,
isOpenMicrophone: false,
});
Returns:Promise<void>

leave

离开当前直播。
import { liveRoom } from '@tencentcloud/livekit-web-vue3';
liveRoom.leave();
Returns:Promise<void>

dismiss

解散当前直播。
import { liveRoom } from '@tencentcloud/livekit-web-vue3';
liveRoom.dismiss();
Returns:Promise<void>

setSelfInfo

设置自己的用户信息。
参数:
参数
类型
默认值
含义
options
{userName: string; avatarUrl: string}
-
用户信息对象
userName
string(可选)
-
用户昵称
avatarUrl
string(可选)
-
用户头像
import { liveRoom } from '@tencentcloud/livekit-web-vue3';
liveRoom.setSelfInfo({
userName: 'test-name',
avatarUlr: 'https://avatar.png'
});
Returns:Promise<void>

setLanguage

设置界面语言。
参数:
参数
类型
默认值
含义
language
'zh-CN' | 'en-US'
-
语言类型
import { liveRoom } from '@tencentcloud/livekit-web-vue3';
liveRoom.setLanguage('en-US');
Returns:void

setTheme

设置界面主题。
参数:
参数
类型
默认值
含义
theme
'LIGHT' | 'DARK'
-
主题类型
import { liveRoom } from '@tencentcloud/livekit-web-vue3';
liveRoom.setTheme('DARK');
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
切换主题功能按钮
SwitchLanguage
string
切换语言功能按钮

StartParams

参数
类型
描述
默认值
roomName
string(可选)
直播间名称
-
isOpenCamera
boolean(可选)
是否开启摄像头
false
isOpenMicrophone
boolean(可选)
是否开启麦克风
false
defaultCameraId
string(可选)
默认摄像头ID
-
defaultMicrophoneId
string(可选)
默认麦克风ID
-
defaultSpeakerId
string(可选)
默认扬声器ID
-

JoinParams

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