LiveListStore

简介

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

功能特性

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

可订阅数据

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

API 列表

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

获取实例

LiveListStore.shared

单例对象。

观察状态和事件

addLiveListListener

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

removeLiveListListener

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

直播列表

fetchLiveList

获取直播列表
Future<CompletionHandler> fetchLiveList({
required String cursor,
required int count,
});
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
cursor
String
必填
游标。
count
int
必填
数量。

fetchLiveInfo

获取直播信息。

直播操作

createLive

创建直播
Future<LiveInfoCompletionHandler> createLive(LiveInfo liveInfo);
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
liveInfo
必填
直播信息。

joinLive

加入直播
Future<LiveInfoCompletionHandler> joinLive(String liveID);
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
liveID
String
必填
直播 ID。

leaveLive

离开直播
Future<CompletionHandler> leaveLive();
版本信息
从 3.5 版本开始支持。

endLive

结束直播
Future<StopLiveCompletionHandler> endLive();
版本信息
从 3.5 版本开始支持。

updateLiveInfo

更新直播信息
Future<CompletionHandler> updateLiveInfo({
required LiveInfo liveInfo,
required List<ModifyFlag> modifyFlagList,
});
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
liveInfo
必填
直播信息。
modifyFlag
List<ModifyFlag>
必填
修改标志。

元数据操作

queryMetaData

查询元数据
Future<MetaDataCompletionHandler> queryMetaData(List<String> keys);
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
keys
List<String>
必填
键列表。

updateLiveMetaData

更新直播元数据
Future<CompletionHandler> updateLiveMetaData(Map<String, String> metaData);
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
metaData
Map<String, String>
必填
元数据。

数据结构

TakeSeatMode

上麦模式。
枚举值
说明
free
自由上麦。
apply
申请上麦。

LiveEndedReason

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

LiveKickedOutReason

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

LiveInfo

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

LiveListState

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

LiveListListener

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

LiveListListener({this.onLiveEnded, this.onKickedOutOfLive});
参数名
类型
说明
liveID
String
直播 ID。
reason
被踢出原因。
message
String
消息。

LiveInfoCompletionHandler

Dart 直播信息完成回调。
Dart 直播信息操作的完成回调,包含返回的直播信息。
属性
属性
类型
说明
liveInfo
成功时返回的直播信息。

StopLiveCompletionHandler

Dart 停止直播完成回调。
Dart 停止直播操作的完成回调,包含直播统计数据。
属性
属性
类型
说明
statisticsData
TUILiveStatisticsData
成功时返回的直播统计数据。

MetaDataCompletionHandler

Dart 元数据完成回调。
Dart 元数据操作的完成回调,包含元数据结果。
属性
属性
类型
说明
metaData
Map<String, String>
成功时返回的元数据。