TUILiveListManager

最近更新时间:2025-08-22 10:28:31

我的收藏
Function: 直播房间列表相关接口,此页面中的函数仅支持直播房间类型(LIVE)。
TUIRoomEngine 3.0.0 版本开始支持。

TUILiveListManager

函数接口
说明
startLive
开始直播,该接口自 v3.3.0 版本支持。
stopLive
停止直播,该接口自 v3.3.0 版本支持。
joinLive
加入直播,该接口自 v3.3.0 版本支持。
leaveLive
离开直播,该接口自 v3.3.0 版本支持。
获取直播间列表。
修改直播间信息。
获取直播间信息。
进房前预览视频流,该接口自 v3.3.0 版本支持。
停止预览视频流,该接口自 v3.3.0 版本支持。
on
监听 TUILiveListManagerEvents 事件。
off
取消 TUILiveListManagerEvents 事件监听。

TUILiveListManagerEvents

事件接口
说明
直播间信息发生变化事件。

类型定义

类型
说明
直播间信息。
直播间列表查询结果。
直播间信息发生修改结构体。
直播统计数据。

函数接口详情

startLive

说明:
该接口自 v3.3.0 开始支持。
开始直播。
const liveInfo = {
roomId: '123',
roomType: TUIRoomType.kLive,
name: 'ABC',
notice: 'this is a description',
isSeatEnabled: true,
seatMode: TUISeatMode.kApplyToTake,
seatLayoutTemplateId: 200,
maxSeatCount: 8,
coverUrl: '',
backgroundUrl: '',
categoryList: [],
activityStatus: 1,
isMessageDisableForAllUser: false,
isGiftEnabled: false,
isLikeEnabled: false,
isPublicVisible: false,
keepOwnerOnSeat: false,
};
const roomEngine = new TUIRoomEngine();
const liveListManager = roomEngine.getLiveListManager();
const resultLiveInfo = await liveListManager.startLive(liveInfo);
console.log('直播开始成功,CDN流地址:', resultLiveInfo.cdnStreamUrl);

参数
类型
是否必填
默认值
说明
liveInfo
TUILiveInfo
-
直播间信息,包含房间ID、名称、公告等配置。
返回值:Promise<TUILiveInfo>

stopLive

说明:
该接口自 v3.3.0 开始支持。
停止直播。
try {
const roomEngine = new TUIRoomEngine();
const liveListManager = roomEngine.getLiveListManager();
const statistics = await liveListManager.stopLive();
console.log('直播结束,统计数据:', {
观众人数: statistics.totalViewers,
礼物总数: statistics.totalGiftsSent,
点赞总数: statistics.totalLikesReceived
});
} catch (error) {
console.error('停止直播失败:', error);
}

返回值:Promise<TUILiveStatisticsData>

joinLive

说明:
该接口自 v3.3.0 开始支持。
加入直播。
try {
const roomEngine = new TUIRoomEngine();
const liveListManager = roomEngine.getLiveListManager();
const liveInfo = await liveListManager.joinLive('live_room_123');
console.log('成功加入直播间:', {
房间名称: liveInfo.name,
房间公告: liveInfo.notice,
CDN流地址: liveInfo.cdnStreamUrl
});
} catch (error) {
console.error('加入直播间失败:', error);
}

参数
类型
是否必填
默认值
说明
roomId
String
-
要加入的直播间 ID。
返回值:Promise<TUILiveInfo>

leaveLive

说明:
该接口自 v3.3.0 开始支持。
离开直播。
try {
const roomEngine = new TUIRoomEngine();
const liveListManager = roomEngine.getLiveListManager();
await liveListManager.leaveLive();
console.log('成功离开直播间');
} catch (error) {
console.error('离开直播间失败:', error);
}

返回值:Promise<void>

fetchLiveList

获取直播间列表。
const roomEngine = new TUIRoomEngine();
const liveListManager = roomEngine.getLiveListManager();
const liveList = [];
let cursor = '';
let count = 20;
let result;
do {
result = await liveListManager.fetchLiveList({ cursor, count });
liveList.push(...result.liveInfoList);
cursor = result.cursor;
} while(cursor !== '');

参数
类型
是否必填
默认值
说明
options
Object
-
参数选项。
options.cursor
String
''
分页获取索引,第一次拉取填 '',返回的数据中 cursor 不为 '',表示需要分页,请以返回的 cursor 作为参数再次调用接口拉取,直至返回的cursor为 '',表示数据已经全部拉取。
options.count
Number
-
本次拉取数量。

返回值:Promise<TUILiveListResult>

setLiveInfo

修改直播间信息。
const roomEngine = new TUIRoomEngine();
const liveListManager = roomEngine.getLiveListManager();
liveListManager.setLiveInfo({
roomId: "141569",
coverUrl: "https://qcloudimg.tencent-cloud.cn/image/document/live-cover.png",
isPublicVisible: false,
activityStatus: 1,
categoryList: [1,2,3],
backgroundUrl: "https://qcloudimg.tencent-cloud.cn/image/document/live-cover.png"
});

参数
类型
是否必填
默认值
说明
options
Object
-
参数选项。
options.roomId
String
-
直播房间 ID。
options.activityStatus
Number
-
直播间活跃状态: 用户自定义标记。
options.categoryList
Array

-
直播间分类标签,单个房间最大支持3个标记。
options.coverUrl
String
-
直播间封面图片 HTTP URL 地址,最大支持 200 个字节。
options.backgroundUrl
String
-
直播间背景图片 HTTP URL 地址,最大支持 200 个字节。
options.isPublicVisible
Boolean
-
直播间是否公开。
options.seatLayoutTemplateId
Number
-
直播间麦位排版模板 ID。
返回值:Promise<void>

getLiveInfo

获取直播间信息。
const roomEngine = new TUIRoomEngine();
const liveListManager = roomEngine.getLiveListManager();
const result = await liveListManager.getLiveInfo({ roomId: "141569" });

参数
类型
是否必填
默认值
说明
options
Object
-
参数选项。
options.roomId
String
-
直播房间号。
返回值:Promise<TUILiveInfo>

startPreloadVideoStream

进房前预览视频流。
const roomEngine = new TUIRoomEngine();
const liveListManager = roomEngine.getLiveListManager();
await liveListManager.startPreloadVideoStream({
roomId: "live_room_123",
isMuteAudio: false,
view: "previewVideoContainer"
});

参数
类型
是否必填
默认值
说明
options
Object
-
参数选项。
options.roomId
String
-
房间 ID。
options.isMuteAudio
Boolean
-
是否静音预览。
options.view
String
-
播放视频流区域。
返回值:Promise<void>

stopPreloadVideoStream

停止预览视频流。
const roomEngine = new TUIRoomEngine();
const liveListManager = roomEngine.getLiveListManager();
await liveListManager.stopPreloadVideoStream({
roomId: "live_room_123"
});

参数
类型
是否必填
默认值
说明
options
Object
-
参数选项。
options.roomId
String
-
房间 ID。
返回值:Promise<void>

on

监听 TUILiveListManagerEvents 事件。
const roomEngine = new TUIRoomEngine();
const liveListManager = roomEngine.getLiveListManager();
const callback = ({ liveModifyInfo }) => {
console.log('liveListManager.onLiveInfoChanged', liveModifyInfo);
};
liveListManager.on(TUILiveListManagerEvents.onLiveInfoChanged, callback);

参数
类型
是否必填
默认值
说明
eventName
-
事件名。
func
(...args: any[]) => void
-
事件处理函数。

off

取消 TUILiveListManagerEvents 事件监听。
const roomEngine = new TUIRoomEngine();
const liveListManager = roomEngine.getLiveListManager();
const callback = ({ liveModifyInfo }) => {
console.log('liveListManager.onLiveInfoChanged', liveModifyInfo);
};
liveListManager.off(TUILiveListManagerEvents.onLiveInfoChanged, callback);

参数
类型
是否必填
默认值
说明
eventName
TUILiveListManagerEvents
-
事件名。
func
(...args: any[]) => void
-
事件处理函数。

事件接口详情

onLiveInfoChanged

直播间信息发生变化事件。
const roomEngine = new TUIRoomEngine();
const liveListManager = roomEngine.getLiveListManager();
liveListManager.on(TUILiveListManagerEvents.onLiveInfoChanged, ({ liveModifyInfo}) => {
console.log('liveListManager.onLiveInfoChanged', liveModifyInfo);
});

参数
类型
说明
options
Object
参数选项。
options.liveModifyInfo
直播间信息变更。

类型定义详情

TUILiveInfo

属性
类型
说明
roomId
String
直播间 ID。
roomType
TUIRoomType
直播间类型,只能是 TUIRoomType.kLive 类型。
name
String
直播间名称。
notice
String
直播间公告。
isMessageDisableForAllUser
Boolean
直播间是否禁言所有用户发送文字、表情消息。
isGiftEnabled
Boolean
直播间是否支持礼物。
isLikeEnabled
Boolean
直播间是否支持点赞。
isPublicVisible
Boolean
直播间是否公开。
isSeatEnabled
Boolean
直播间是否支持麦位。
keepOwnerOnSeat
Boolean
直播间是否保持主播永远在麦上。
seatLayoutTemplateId
Number
直播间麦位排版模板 ID。
maxSeatCount
Number
直播间最大麦位数量。
seatMode
TUISeatMode
直播间麦位模式。
coverUrl
String
直播间封面图片 HTTP URL 地址,最大支持 200 个字节。
backgroundUrl
String
直播间背景图片 HTTP URL 地址,最大支持 200 个字节。
categoryList
Array

直播间分类标签,单个房间最大支持3个标记。
activityStatus
Number
直播间活跃状态: 用户自定义标记。
roomOwner
String
直播间房主用户 ID,只读。
ownerName
String
直播间房主用户名,只读。
ownerAvatarUrl
String
直播间房主头像 URL,只读。
createTime
Number
直播间创建时间,单位毫秒,只读。
totalViewers
Number
累计观看次数,只读。
isUnlimitedRoomEnabled
Boolean
是否支持无限大房间,只读。
cdnStreamUrl
String
直播流地址,只读。
lebSecretKey
String
直播流加密密钥,只读。
lebEncrypted
String
直播流加密信息,只读。
lebSignature
String
直播流加密签名,只读。

TUILiveListResult

属性
类型
说明
cursor
String
列表下标。
listInfoList
拉取的直播间列表。

TUILiveModifyInfo

属性
类型
说明
roomId
String
直播房间号。
isPublicVisible
Boolean
可选,直播间是否公开。
activityStatus
Number
可选,直播间活跃状态: 用户自定义标记。
coverUrl
String
可选,直播间封面图片 HTTP URL 地址,最大支持 200 个字节。
backgroundUrl
String
可选,直播间背景图片 HTTP URL 地址,最大支持 200 个字节。
categoryList
Array

可选,直播间分类标签,单个房间最大支持3个标记。

TUILiveStatisticsData

属性
类型
说明
totalViewers
Number
观众人数。
totalGiftsSent
Number
礼物发送总数。
totalGiftCoins
Number
礼物总价值。
totalUniqueGiftSenders
Number
礼物发送者总数。
totalLikesReceived
Number
点赞总数。