AtomicPusher.shared.setView(view) 绑定本地预览视图,调用 startPush(config) 开始推流,监听 state 获取推流状态变化,并通过 release() 释放资源。属性名 | 类型 | 描述 |
networkState | 连接状态。 | |
statistics | 推流器运行时统计。 | |
pusherInfo | 推流器直播间信息。 | |
totalViewerCount | Int | 总观众数。 |
函数名 | 描述 |
获取全局单例。 | |
推流事件发布者。 | |
设置渲染视图。 | |
开始推流(直播)。 | |
停止推流(直播)。 | |
更新直播间配置。 | |
释放推流器资源。 | |
通过键值对启用高级特性。 |
AtomicLiveView 容器中。public func setView(_ view: AtomicLiveView) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 描述 |
view | 渲染视图容器。 |
public func startPush(config: PusherInfo) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 描述 |
config | 直播间配置。 |
public func stopPush() {fatalError("\\(#function) must be overridden by subclass")}
startPush 之后调用,更新直播间名称、封面、分类等信息。public func updateConfig(config: PusherInfo, modifyFlag: PusherInfo.ModifyFlag) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 描述 |
config | 更新后的配置。 | |
modifyFlag | PusherInfo.ModifyFlag | 修改标志。 |
public func release() {fatalError("\\(#function) must be overridden by subclass")}
public func enableAdvancedFeature(key: String, value: Any) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 描述 |
key | String | 特性键名。 |
value | Any | 特性值,类型取决于具体键。 |
枚举值 | 值 | 说明 |
OK | 0 | 无错误,操作成功。 |
ERROR_INVALID_PARAMETER | -1 | 参数非法。 |
ERROR_INVALID_STATE | -2 | 当前状态不允许该操作(如正在推流时重复开播、未开播就修改配置)。 |
ERROR_START_PUSH_REQUEST_FAILED | -3 | 开播请求链路失败(服务端 / 信令 / TRTC)。 |
ERROR_UPDATE_CONFIG_REQUEST_FAILED | -4 | 更新配置请求链路失败(服务端 / 信令)。 |
startPushDISCONNECTED ─────────────▶ CONNECTING▲ ││ │ join/push succeeded│ ▼│ CONNECTED│ ││ network jitter / dropped, SDK auto-reconnects│ ▼│ CONNECTING│ ││ reconnect succeeded ─▶ CONNECTED└───── reconnect failed / stopPush / release
DISCONNECTED 为初始状态;调用 stopPush / release 后也会回到该状态。 自动重连过程复用 CONNECTING,不区分“首次连接”与“重连”。枚举值 | 值 | 说明 |
DISCONNECTED | 0 | 未连接。初始状态,或主动停止推流 / 最终重连失败后。 |
CONNECTING | 1 | 连接中。用于首次进房握手和断线后自动重连。 |
CONNECTED | 2 | 已连接,推流链路正常。 |
addListener / removeListener 注册/移除监听器。属性 | 类型 | 说明 |
videoWidth | Int | 视频宽度(像素)。 |
videoHeight | Int | 视频高度(像素)。 |
videoFps | Int | 视频帧率(fps)。 |
videoBitrate | Int | 视频码率(bps)。 |
audioBitrate | Int | 音频码率(bps)。 |
rtt | Int | 网络往返时延(毫秒)。 |
packetLossRate | Int | 网络丢包率(百分比)。 |
state 读取当前值或观察变化。属性 | 类型 | 说明 |
networkState | 连接状态。 | |
statistics | 推流器运行时统计。 | |
pusherInfo | 推流器直播间信息。 | |
totalViewerCount | Int | 总观众数。 |
startPush / updateConfig 的输入参数,也在 state.pusherInfo 中携带引擎返回的直播间状态。属性 | 类型 | 说明 |
liveID | String | 直播 ID。 |
liveName | String | 直播名称。 |
coverURL | String | 封面 URL。 |
backgroundURL | String | 背景 URL。 |
notice | String | 公告。 |
createTime | Int | 创建时间。 |
categoryList | [Int] | 分类列表。 |
isPublicVisible | Bool | 是否公开可见。 |
metaData | [String: String] | 自定义元数据。 |
文档反馈