Skip to main content
本文不逐字段复刻源码中的所有内部实现,而是整理接入最常用、最需要理解的公开类型。

JoinOptions

加入频道的可选参数。 示例:

ChannelInfo

频道信息。

UserInfo

用户信息。

TrackInfo

轨道描述信息。

Codec

编解码器枚举。

VideoRotation

视频帧旋转方向,用于 pushFrame(_:rotation:timestampNs:)VideoFrame 原始值就是角度,与 Android 端 inputDatarotation 参数同一口径。

StreamVendor

流媒体引擎供应商。 SDK 会根据 Token / Join 响应中的 stream_vendor 自动选择对应引擎。

ConnectionState

DisconnectReason


预设类型

MicPreset

常用预设:
  • .speech
  • .music
  • .musicStereo
  • .musicHighQuality
  • .musicHighQualityStereo

CameraPreset

常用预设:
  • .h180p
  • .h360p
  • .h720p
  • .h1080p

ScreenPreset

常用预设:
  • .h720p
  • .h1080p

ScreenAudioPreset

常用预设:
  • .default
这些预设本质上都是“采集参数 + 发布参数”的组合体。也就是说,预设不是语法糖,而是把一组合理默认值打包成一个对象,减少业务层重复配置。

ScreenCaptureMode

iOS 屏幕采集方式,传给 createLocalScreenTrack(mode:)。macOS 忽略此项(始终走 ScreenCaptureKit)。
集成步骤见屏幕共享

DeviceInfo

设备管理器返回的统一设备结构。 DeviceKind 可选值:
  • audioInput
  • audioOutput
  • videoInput
iOS 上 getDevices(kind: .audioOutput) 返回空数组——系统不暴露输出设备枚举。 控制输出走向请用下面的音频路由类型,见音频路由

AudioRoute

iOS 专有。 当前音频输出路由,只读上报用,五态。 辅助属性:

AudioRouteTarget

iOS 专有。主动切换的路由目标,只有两态。 AudioRoute 刻意分开:iOS 不提供切换到指定蓝牙 / 有线设备的能力,外设由系统接管, SDK 只能控制「内置扬声器还是听筒」。asRoute 可映射回 AudioRoute.earpiece.receiver)。

AudioRouteInfo

iOS 专有。 系统音频端口快照,诊断 / 展示用,不是可选择的列表。

AudioCallState

iOS 专有。 系统通话状态,来自 CallKit。SDK 用它决定音频中断后何时可以恢复。

ConnectionQuality

连接质量等级,从服务端下发的报告里解出。 「较差」比较的顺序是 unknown < excellent < good < poor < lost

QualitySample

单方向的质量数值快照,信号塔 / 网络面板可以直接读这些字段渲染。

QualityReport

一次完整的质量报告,服务端每次下发都会抛一份。

QualityEvaluation

简化的等级评估快照,getConnectionQuality() 与跳档事件用它。

ConnectionQualityChange


ActiveSpeakerInfo / ActiveSpeakersSnapshot

speakers全量列表,SDK 已合并服务端的增量协议并按 level 降序排好,无人说话时为空数组。

LayerSwitchedInfo

以上质量相关类型的用法见 通话质量与活跃说话人