Skip to main content

SRTC 实例

通过 new SRTC(initParams) 创建实例,绝大多数操作都通过该实例对外提供。
  • 一个实例可多次 join 同时加入多个频道,每次 join 返回该频道的 Channel 对象
  • 频道内事件通过 srtc.onNotifyChannelEvent 回调通知;多频道时用各频道的 channel.onNotifyEvent 区分,详见多频道

频道(Channel)与 Token

频道是一次多人音视频会话的容器,由频道名唯一标识。加入同一频道的用户可以互相收发音视频流。 Token 是加入频道的凭证,由你的服务端通过 StmLink 服务端 API 签发,携带了频道名、用户 ID、权限等信息。每次加入频道都需要传入有效的 Token。
join 返回的 Channel 对象上可以直接进行发布、订阅、离会等频道级操作。单频道应用无需关心它——srtc 实例保留了全部频道级方法(内部作用于当前频道);需要同时加入多个频道时才需要用它区分操作目标,详见多频道 加入后可随时通过以下方法获取频道和用户信息:

Track 体系

Track(轨道)是音视频数据的最小单元,每一路音频或视频都是一个 Track。

继承关系

分类说明

本地 Track 生命周期


事件系统

SRTC 提供两套事件回调:

频道内事件(onNotifyChannelEvent)

监听频道连接状态、远端用户进出、远端轨道变化、本地设备状态等事件:

频道外消息事件(onNotifyImEvent)

监听 IM 消息(需先调用 srtc.enableIm(token) 启用):
完整事件列表详见 事件参考

观众模式(is_audience)

UserInfo.is_audiencetrue 时,表示该用户以观众身份加入频道:
  • 观众只接收音视频流,不能发布本地轨道
  • 是否以观众身份加入,由服务端签发 Token 时决定
  • 可通过 ChannelEventType.ME_UPDATE 事件感知自己的观众状态变化