主播开播(iOS)

最近更新时间:2025-09-08 22:59:42

我的收藏
本文将指导您如何快速集成 TUILiveKit 组件,实现主播开播全流程功能,包括开播前的准备和开播后的各种互动。

效果展示

TUILiveKit 提供了完整的主播功能模块,涵盖了从开播准备到直播互动的所有环节:
主播开播页:实现摄像头预览、美颜、滤镜、摄像头翻转等功能。
主播直播页:支持观众连麦、主播连线、主播 PK、直播间信息展示、观众列表、礼物和弹幕等功能。
主播开播预览
主播直播中
主播连麦中





布局样式

TUILiveKit 提供了四种预设的布局模板,您可以在主播开播页布局功能入口根据需求选择合适的样式。
名称
动态宫格布局
浮动小窗布局
固定宫格布局
固定小窗布局
模板 ID
600
601
800
801
描述
默认布局,可根据连麦人数动态调整宫格大小。
连麦嘉宾以浮动小窗形式显示。
连麦人数固定,每个嘉宾占据一个固定宫格。
连麦人数固定,嘉宾以固定小窗形式显示。
预览







前提条件

在接入该功能之前,需要先完成 准备工作 并完成 登录

功能接入

步骤 1:创建并加载主播开播页视图

1. 主播准备页用于在开播前进行摄像头预览和功能设置,您需创建并加载主播准备页视图,具体示例代码如下:
Swift
// 创建 LiveCoreView 实例
let coreView = LiveCoreView()

// 创建 AnchorPrepareView 并传入 coreView
let anchorPrepareView = AnchorPrepareView(coreView: coreView)

// 设置代理,用于监听事件
anchorPrepareView.delegate = self
2. 将创建的 AnchorPrepareView 加载到您的 ViewController 中。
Swift
public override func loadView() {
view = anchorPrepareView
}

步骤 2:监听开播页回调

实现 AnchorPrepareViewDelegate 代理方法,以响应用户单击开始直播返回按钮的事件。
swift
extension YourAnchorPrepareViewController : AnchorPrepareViewDelegate {
public func onClickStartButton(state: PrepareState) {
}
public func onClickBackButton() {

}
}

步骤 3:创建并加载主播直播页

AnchorPrepareViewDelegate.onClickStartButton 回调中创建 AnchorView 实例,并传入直播信息进行初始化。您可以根据需求通过设置 liveInfo.seatLayoutTemplateId 来选择不同的布局。如果未设置,将默认使用 600 动态宫格布局。
Swift
var liveInfo = LiveInfo()
liveInfo.roomId = roomId
liveInfo.name = state.roomName
liveInfo.coverUrl = state.coverUrl
liveInfo.isPublicVisible = state.privacyMode == .public
// 选择不同模板
liveInfo.seatLayoutTemplateId = 600

let anchorView = AnchorView(liveInfo: liveInfo, coreView: self.coreView, behavior: .createRoom)
anchorView.delegate = self



将创建的 AnchorView 加载到您的 ViewController 中。
Swift
public override func loadView() {
view = anchorView
}

步骤 4:监听并处理直播事件

您可以实现 AnchorViewDelegate 代理方法,以响应用户单击结束直播悬浮窗按钮的事件。
Swift
extension YourViewController: AnchorViewDelegate {

// 用户点击悬浮窗按钮的回调
public func onClickFloatWindow() {
// 在这里处理点击悬浮窗逻辑
}

// 用户点击结束直播按钮的回调
public func onEndLiving(state: AnchorState) {
// 在这里处理直播结束逻辑
}
}

功能定制

主播开播页

隐藏操作区视图。
swift
anchorPrepareView.disableFeatureMenu(true)
隐藏操作区美颜功能。
swift
anchorPrepareView.disableMenuBeautyButton(true)
隐藏操作区音效功能。
swift
anchorPrepareView.disableMenuAudioEffectButton(true)
隐藏操作区翻转功能。
swift
anchorPrepareView.disableMenuSwitchButton(true)

主播直播页

隐藏主播页顶部操作区。
Swift
anchorView.disableHeaderLiveData(true)
隐藏顶部操作区中的观众列表功能。
Swift
anchorView.disableHeaderVisitorCnt(true)
隐藏底部操作区的连麦功能。
Swift
anchorView.disableFooterCoGuest(true)
隐藏底部操作区的连线功能。
Swift
anchorView.disableFooterCoHost(true)
隐藏底部操作区的 PK 功能。
Swift
anchorView.disableFooterBattle(true)
隐藏更多设置面板中的音效功能。
Swift
anchorView.disableFooterSoundEffect(true)