LiveListStore

最近更新时间:2026-02-13 14:12:32

我的收藏

简介

LiveListStore 提供了一套完整的直播间管理 API,包括创建直播、加入直播、离开直播、结束直播等功能。 通过该类,可以实现直播间的生命周期管理。
重要:
使用 LiveListStore.shared 单例对象获取 LiveListStore 实例。
说明:
直播状态更新通过 liveState 发布者传递。订阅它以接收直播数据的实时更新。

功能特性

直播列表:获取和管理直播间列表。
直播创建:创建新的直播间。
直播加入:加入已存在的直播间。
直播管理:更新直播信息、结束直播等操作。
事件监听:监听直播结束、被踢出等事件。

可订阅数据

LiveListState 的字段描述如下:
属性名
类型
描述
liveList
StateFlow<List<LiveInfo>>
直播列表。
liveListCursor
StateFlow<String>
直播列表游标。
currentLive
StateFlow<LiveInfo>
当前直播信息。

API 列表

函数名
描述
单例对象。
直播列表事件回调。
直播列表事件回调。
获取直播列表。
获取直播信息。
创建直播。
加入直播。
离开直播。
结束直播。
更新直播信息。
查询元数据。
更新元数据。

获取实例

LiveListStore.shared

单例对象。

观察状态和事件

addLiveListListener

添加直播列表事件监听器
abstract fun addLiveListListener(listener: LiveListListener)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
listener
必填
监听器。

removeLiveListListener

移除直播列表事件监听器
abstract fun removeLiveListListener(listener: LiveListListener)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
listener
必填
监听器。

直播列表

fetchLiveList

获取直播列表
abstract fun fetchLiveList(
cursor: String?,
count: Int,
completion: CompletionHandler?
)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
cursor
String?
必填
游标。
count
Int
必填
数量。
completion
必填
完成回调。

fetchLiveInfo

获取直播信息
abstract fun fetchLiveInfo(
liveID: String,
completion: LiveInfoCompletionHandler?
)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
liveID
String
必填
直播间 ID。
completion
必填
完成回调。

直播操作

createLive

创建直播
abstract fun createLive(
liveInfo: LiveInfo,
completion: LiveInfoCompletionHandler?
)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
liveInfo
必填
直播信息。
completion
必填
完成回调。

joinLive

加入直播
abstract fun joinLive(
liveID: String?,
completion: LiveInfoCompletionHandler?
)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
liveID
String?
必填
直播 ID。
completion
必填
完成回调。

leaveLive

离开直播
abstract fun leaveLive(completion: CompletionHandler?)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
completion
必填
完成回调。

endLive

结束直播
abstract fun endLive(completion: StopLiveCompletionHandler?)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
completion
必填
完成回调。

updateLiveInfo

更新直播信息
abstract fun updateLiveInfo(
liveInfo: LiveInfo,
modifyFlagList: List<LiveInfo.ModifyFlag>,
completion: CompletionHandler?
)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
liveInfo
必填
直播信息。
modifyFlag
List<LiveInfo.ModifyFlag>
必填
修改标志。
completion
必填
完成回调。

元数据操作

queryMetaData

查询元数据
abstract fun queryMetaData(
keys: List<String>,
completion: MetaDataCompletionHandler?
)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
keys
List<String>
必填
键列表。
completion
必填
完成回调。

updateLiveMetaData

更新直播元数据
abstract fun updateLiveMetaData(
metaData: HashMap<String, String>,
completion: CompletionHandler?
)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
metaData
HashMap<String, String>
必填
元数据。
completion
必填
完成回调。

数据结构

TakeSeatMode

上麦模式。
枚举值
说明
FREE
自由上麦。
APPLY
申请上麦。

SeatLayoutTemplate

麦位布局模板,用于简化创建直播间时的麦位配置。
枚举值
说明
data
竖屏动态九宫格,适用于视频直播场景。
data
竖屏动态1v6浮动布局,适用于视频直播场景。
data
竖屏静态九宫格,适用于视频直播场景。
data
竖屏静态1v6浮动布局,适用于视频直播场景。
data
横屏4人麦位布局,适用于视频直播场景。
data
语音KTV布局,适用于K歌场景,可指定麦位数量。
data
语音沙龙布局,适用于语聊场景,可指定麦位数量。

LiveEndedReason

直播结束原因。
枚举值
说明
ENDED_BY_HOST
主播主动结束。
ENDED_BY_SERVER
服务器结束。

LiveKickedOutReason

被踢出直播间原因。
枚举值
说明
BY_ADMIN
被管理员踢出。
BY_LOGGED_ON_OTHER_DEVICE
在其他设备登录。
BY_SERVER
被服务器踢出。
FOR_NETWORK_DISCONNECTED
网络断开连接。
FOR_JOIN_ROOM_STATUS_INVALID_DURING_OFFLINE
离线期间房间状态无效。
FOR_COUNT_OF_JOINED_ROOMS_EXCEED_LIMIT
加入房间数量超过限制。

LiveInfo

直播信息。
属性
类型
说明
liveID
String
直播 ID。
liveName
String
直播名称。
notice
String
直播公告。
isMessageDisable
Boolean
是否禁用消息。
isPublicVisible
Boolean
是否公开可见。
isSeatEnabled
Boolean
是否启用麦位。
keepOwnerOnSeat
Boolean
房主是否保持在麦位上。
maxSeatCount
Int
最大麦位数量。
seatMode
上麦模式。
seatTemplate
麦位布局模板,用于简化麦位配置。
seatLayoutTemplateID
Int
麦位布局模板 ID。
coverURL
String
封面 URL。
backgroundURL
String
背景 URL。
categoryList
List<Int>
分类列表。
activityStatus
Int
活动状态。
liveOwner
直播房主信息。
createTime
Long
创建时间。
totalViewerCount
Int
总观看人数。
isGiftEnabled
Boolean
是否启用礼物。
metaData
Map<String, String>
元数据。

LiveListState

直播列表状态。
属性
类型
说明
liveList
StateFlow<List<LiveInfo>>
直播列表。
liveListCursor
StateFlow<String>
直播列表游标。
currentLive
StateFlow<LiveInfo>
当前直播信息。

LiveListListener

直播列表事件。
方法
onLiveEnded: 直播结束事件。
open fun onLiveEnded(liveID: String, reason: LiveEndedReason, message: String) {}
参数名
类型
说明
liveID
String
直播 ID。
reason
结束原因。
message
String
消息。
onKickedOutOfLive: 被踢出直播间事件。
open fun onKickedOutOfLive(liveID: String, reason: LiveKickedOutReason, message: String) {}
参数名
类型
说明
liveID
String
直播 ID。
reason
被踢出原因。
message
String
消息。

LiveInfoCompletionHandler

直播信息完成回调接口。
方法
onSuccess: 成功回调。
fun onSuccess(liveInfo: LiveInfo)
参数名
类型
说明
liveInfo
直播信息。
onFailure: 失败回调。
fun onFailure(code: Int, desc: String)
参数名
类型
说明
code
Int
错误码。
desc
String
错误描述。

StopLiveCompletionHandler

停止直播完成回调接口。
方法
onSuccess: 成功回调。
fun onSuccess(statisticsData: TUILiveListManager.LiveStatisticsData)
参数名
类型
说明
statisticsData
TUILiveListManager.LiveStatisticsData
直播统计数据。
onFailure: 失败回调。
fun onFailure(code: Int, desc: String)
参数名
类型
说明
code
Int
错误码。
desc
String
错误描述。

MetaDataCompletionHandler

元数据完成回调接口。
方法
onSuccess: 成功回调。
fun onSuccess(metaData: HashMap<String, String>)
参数名
类型
说明
metaData
HashMap<String, String>
元数据。
onFailure: 失败回调。
fun onFailure(code: Int, desc: String)
参数名
类型
说明
code
Int
错误码。
desc
String
错误描述。