LiveListStore 提供了一套完整的直播间管理 API,包括开播、加入直播、离开直播、结束直播等功能。 通过该类,可以实现直播间的生命周期管理。主播调用 startLive/endLive 来开播和解散房间,观众调用 joinLive/leaveLive 来加入和退出直播间。LiveListStore 实例。函数名 | 描述 |
单例对象。 | |
直播列表事件发布者。 | |
获取直播列表。 | |
获取直播信息。 | |
主播开播。如果是新的直播间 ID,将创建直播间并开播;如果是服务端已创建的直播间 ID,将加入该直播间并开播。 | |
加入直播(观众调用)。 | |
离开直播(观众调用)。 | |
结束直播(主播调用)。 | |
更新直播信息。 | |
查询元数据。 | |
更新元数据。 |
public func fetchLiveList(cursor: String,count: Int,completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 是否必填 | 描述 |
cursor | String | 必填 | 游标。 |
count | Int | 必填 | 数量。 |
completion | CompletionClosure? | 必填 | 完成回调。 |
public func fetchLiveInfo(liveID: String,completion: LiveInfoCompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 是否必填 | 描述 |
liveID | String | 必填 | 直播间 ID。 |
completion | LiveInfoCompletionClosure? | 必填 | 完成回调。 |
public func startLive(_ liveInfo: LiveInfo,completion: LiveInfoCompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 是否必填 | 描述 |
liveInfo | 必填 | 直播信息。 | |
completion | LiveInfoCompletionClosure? | 必填 | 完成回调。 |
public func joinLive(liveID: String,completion: LiveInfoCompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 是否必填 | 描述 |
liveID | String | 必填 | 直播 ID。 |
completion | LiveInfoCompletionClosure? | 必填 | 完成回调。 |
public func leaveLive(completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 是否必填 | 描述 |
completion | CompletionClosure? | 必填 | 完成回调。 |
public func endLive(completion: StopLiveCompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 是否必填 | 描述 |
completion | StopLiveCompletionClosure? | 必填 | 完成回调。 |
public func updateLiveInfo(_ liveInfo: LiveInfo,modifyFlag: LiveInfo.ModifyFlag,completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 是否必填 | 描述 |
liveInfo | 必填 | 直播信息。 | |
modifyFlag | LiveInfo.ModifyFlag | 必填 | 修改标志。 |
completion | CompletionClosure? | 必填 | 完成回调。 |
public func queryMetaData(keys: [String], completion: MetaDataCompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 是否必填 | 描述 |
keys | [String] | 必填 | 键列表。 |
completion | MetaDataCompletionClosure? | 必填 | 完成回调。 |
public func updateLiveMetaData(_ metaData: [String: String],completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 是否必填 | 描述 |
metaData | [String: String] | 必填 | 元数据。 |
completion | CompletionClosure? | 必填 | 完成回调。 |
枚举值 | 说明 |
free | 自由上麦。 |
apply | 申请上麦。 |
枚举值 | 说明 |
videoDynamicGrid9Seats | 竖屏动态九宫格,适用于视频直播场景。 |
videoDynamicFloat7Seats | 竖屏动态1v6浮动布局,适用于视频直播场景。 |
videoLeftFocus9Seats | 竖屏左侧焦点九宫格布局,适用于视频直播场景。 |
videoUniformGrid9Seats | 竖屏均匀九宫格布局,适用于视频直播场景。 |
videoFixedGrid9Seats | 竖屏静态九宫格,适用于视频直播场景。 |
videoFixedFloat7Seats | 竖屏静态1v6浮动布局,适用于视频直播场景。 |
videoLandscape4Seats | 横屏4人麦位布局,适用于视频直播场景。 |
karaoke | 语音 KTV 布局,适用于 K 歌场景,可指定麦位数量。 |
audioSalon | 语音沙龙布局,适用于语聊场景,可指定麦位数量。 |
枚举值 | 说明 |
endedByHost | 主播主动结束。 |
endedByServer | 服务器结束。 |
枚举值 | 说明 |
byAdmin | 被管理员踢出。 |
byLoggedOnOtherDevice | 在其他设备登录。 |
byServer | 被服务器踢出。 |
forNetworkDisconnected | 网络断开连接。 |
forJoinRoomStatusInvalidDuringOffline | 离线期间房间状态无效。 |
forCountOfJoinedRoomsExceedLimit | 加入房间数量超过限制。 |
属性 | 类型 | 说明 |
liveID | String | 直播 ID。 |
liveName | String | 直播名称。 |
notice | String | 直播公告。 |
isMessageDisable | Bool | 是否禁用消息。 |
isPublicVisible | Bool | 是否公开可见。 |
isSeatEnabled | Bool | 是否启用麦位。 |
keepOwnerOnSeat | Bool | 房主是否保持在麦位上。 |
maxSeatCount | Int | 最大麦位数量。 |
seatMode | 上麦模式。 | |
seatTemplate | 麦位布局模板,用于简化麦位配置。 | |
seatLayoutTemplateID | UInt | 麦位布局模板 ID。 |
coverURL | String | 封面 URL。 |
backgroundURL | String | 背景 URL。 |
categoryList | [NSNumber] | 分类列表。 |
activityStatus | Int | 活动状态。 |
liveOwner | LiveUserInfo | 直播房主信息。 |
createTime | Int | 创建时间。 |
totalViewerCount | Int | 总观看人数。 |
isGiftEnabled | Bool | 是否启用礼物。 |
metaData | [String: String] | 元数据。 |
case onLiveEnded(liveID: String, reason: LiveEndedReason, message: String)
参数名 | 类型 | 说明 |
liveID | String | 直播 ID。 |
reason | 结束原因。 | |
message | String | 消息。 |
case onKickedOutOfLive(liveID: String, reason: LiveKickedOutReason, message: String)
参数名 | 类型 | 说明 |
liveID | String | 直播 ID。 |
reason | 被踢出原因。 | |
message | String | 消息。 |
文档反馈