ChannelDelegate
频道级事件。第一个参数恒为channel,下表省略。
连接状态
onReconnecting / onReconnected 之间 SDK 会自行恢复发布与订阅,业务侧一般只需要
更新 UI 上的连接指示。收到 onDisconnected 才需要走「退出会议」的业务流程。成员
媒体轨道
onTrackAdded 只表示「可以订阅了」,不会自动订阅(除非入会时开了
autoSubscribeAudio / autoSubscribeVideo)。要看到画面还需要显式调用
channel.subscribeRemoteVideoTrack(uid, trackId)。频道与消息
质量与 Simulcast
做 UI 指示器请用
onConnectionQualityChange(已经做过等级判定与抖动抑制),
onQualityReport 是原始采样,适合上报到自己的监控系统。
细节见通话质量。TrackDelegate
轨道级事件。第一个参数恒为track。
onTrackBindRtcTrack 是渲染的关键时机:远端轨道是信令先建对象、订阅协商完成后才绑定
底层轨道,所以拿到 Track 对象不等于已经有帧。SRTCVideoView 内部已经监听了它并
自动补挂,自己接渲染层时需要处理这一点。DeviceManagerDelegate
设备热插拔。注册在DeviceManager.shared.delegates 上。
AudioRouteSessionDelegate
音频路由与通话状态。注册在AudioRouteSession.shared.delegates 上。
外接设备由系统接管,SDK 只上报不主动切换 —— 收到
onAudioRouteChange 时更新 UI 即可,
不要试图在回调里再切回去,那会和系统抢。见音频路由。ImDelegate
频道 IM。srtc.enableIm(tokenString) 之后注册在返回的 Im 对象上。
第一个参数恒为
im。
相关阅读
- 核心概念 —— 事件模型在整体架构里的位置
- 类型定义 —— 上面各回调参数的字段说明
- SRTCEngine 接口