tencent cloud

直播 SDK

AtomicLiveView

下载
聚焦模式
字号
最后更新时间: 2026-11-02 17:31:51

简介

它是纯播放 / 预览场景的轻量独立容器,仅渲染视频(混流或单坐席)与业务挂件, 不提供麦位 / 连麦 / PK API。 将此视图传递给 AtomicPlayer.setView(_:) / AtomicPusher.setView(_:) 即可完成视频输出链路。

数据结构

AtomicLiveViewType

AtomicLiveView 的渲染类型。
枚举值
说明
playView
播放视图,配合 AtomicPlayer 使用。
pushView
推流视图,配合 AtomicPusher 使用。

UnitInfo

直播单元信息,描述渲染在 AtomicLiveView 上的单个坐席。
属性
类型
说明
index
Int
单元索引。
liveID
String
直播 ID。
userID
String
用户 ID。
userName
String
用户名称。
avatarURL
String
头像 URL。
microphoneStatus
麦克风状态。
cameraStatus
摄像头状态。
userSuspendStatus
用户挂起状态。

AtomicLiveViewChangeAdapter

AtomicLiveView 挂件适配器。业务侧通过实现该接口,按需为当前 AtomicLiveView 提供叠加层各类子 UI,并接收视频视图位置变化等回调。SDK 负责将其挂载到推流预览视图之上正确的层级,不影响底层渲染。create* 方法返回 nil 表示当前 View 不需要该类挂件。
方法
onCreateUnitView: 单元首次加入布局时构建坐席挂件视图;后续内容刷新请使用 onUpdateUnitView。
func onCreateUnitView(unitInfo: UnitInfo?) -> UIView?
参数名
类型
说明
unitInfo
直播单元信息。
onUpdateUnitView: 已挂件坐席的业务字段变化时更新其挂件视图。
func onUpdateUnitView(unitInfo: UnitInfo?, view: UIView?)
参数名
类型
说明
unitInfo
最新的直播单元信息。
view
UIView?
该坐席当前的挂件视图;若该坐席尚未创建挂件则为空。
onVideoViewFrameChanged: 视频视图位置变化回调。当同房连麦坐席对应的视频视图位置 / 尺寸发生变化时由 SDK 触发,业务侧可据此同步调整叠加在其上的自定义挂件布局。位置以相对父容器的比例表示,取值范围 0, 1。
func onVideoViewFrameChanged(left: CGFloat, top: CGFloat, right: CGFloat, bottom: CGFloat)
参数名
类型
说明
left
CGFloat
左上点距离左侧的比例。
top
CGFloat
左上点距离上侧的比例。
right
CGFloat
右下点距离左侧的比例。
bottom
CGFloat
右下点距离上侧的比例。
onVolumeChanged: 说话音量变化回调。当麦上用户的说话音量发生变化时由 SDK 触发,播放侧来自流中携带的音量,推流侧来自本地采集与远端连麦用户的音量。仅当该用户的音量真正发生变化时才回调。
func onVolumeChanged(unitInfo: UnitInfo?, volume: Int, view: UIView?)
参数名
类型
说明
unitInfo
音量发生变化的麦位对应的直播单元信息。
volume
Int
该用户最新的说话音量,取值范围 0 ~ 100。
view
UIView?
该麦位当前的挂件视图;若该坐席尚未创建挂件则为空。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈