简介
LiveListStore 提供了一套完整的直播间管理 API,包括创建直播、加入直播、离开直播、结束直播等功能。
通过该类,可以实现直播间的生命周期管理。
重要:
使用 LiveListStore.shared 单例对象获取 LiveListStore 实例。
说明:
直播状态更新通过 liveState 发布者传递。订阅它以接收直播数据的实时更新。
功能特性
直播列表:获取和管理直播间列表。
直播创建:创建新的直播间。
直播加入:加入已存在的直播间。
直播管理:更新直播信息、结束直播等操作。
事件监听:监听直播结束、被踢出等事件。
可订阅数据
LiveListState 的字段描述如下:
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
直播列表状态。
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 | 错误描述。 |