new SRTC(initParams) 创建实例。
本页中的频道级方法(发布、订阅、成员查询、leave 等)与 join 返回的 Channel 对象上的同名方法等价,作用于当前(默认)频道;同时加入多个频道时改用各 Channel 对象调用以区分操作目标,详见多频道。
constructor
buildInfo
获取 SDK 编译信息。getEnvInfo
获取当前浏览器的 WebRTC 能力检测结果,建议在初始化后尽早调用。EnvWebInfo,详见 EnvWebInfo
onNotifyChannelEvent
频道内事件回调,建议在join 前注册。
onNotifyImEvent
频道外 IM 事件回调。join
加入频道,返回该频道的 Channel 对象。频道信息通过channel.getInfo() 获取。
可多次调用同时加入多个频道;单频道应用可忽略返回值,继续使用
srtc 实例上的频道级方法(作用于当前频道)。Channel 对象的方法与多频道用法详见多频道。
从旧版本迁移:join原先返回ChannelInfo,现改为返回 Channel 对象,原返回值等价于(await srtc.join(token)).getInfo()。
leave
主动离开频道。对于本地轨道,SDK 会在离会后自动停止采集、停止播放或移除播放视图。channel.leave();退某个特定频道请直接调用其 Channel 对象的 leave()。
getChannelInfo
获取当前频道信息。未加入频道时返回null。
getUserInfo
获取频道内指定用户信息。getUsersInfo
获取频道内所有用户信息,支持数组和映射两种返回格式。getStreamMetric
获取当前流媒体全量 metric 快照,包含网络总体统计以及每条本地/远端轨道的TrackMetric。
未加入频道时调用会抛出异常。详细字段含义见 网络质量。
getNetworkStats
获取当前网络总体统计,只关心网络全景(码率、丢包、RTT、可用带宽)时用,比getStreamMetric 更轻量。
未加入频道时调用会抛出异常。
getConnectionQuality
获取当前连接质量评估结果,返回上下行等级、总体等级、MOS 和触发原因。SDK 内部以 2 秒为周期滑动窗口评估。
未加入频道时调用会抛出异常。业务层更推荐订阅 ChannelEventType.CONNECTION_QUALITY_CHANGED 事件被动感知变化。
getDevices
枚举媒体设备列表。createLocalMicTrack
创建麦克风音频轨道。createLocalCustomAudioTrack
使用自定义MediaStreamTrack 创建本地音频轨道。
createLocalCameraTrack
创建摄像头视频轨道。createLocalScreenTrack
创建屏幕共享视频轨道。默认会同时创建系统音频轨道。真正能否采集到系统音频,还取决于浏览器能力和用户是否在系统分享弹窗中勾选“分享音频”。
createLocalCustomVideoTrack
使用自定义MediaStreamTrack 创建本地视频轨道。
createLocalCompositeRecorder
创建本地合成录制器,用于在浏览器端把当前页面需要录制的视频宫格和音频轨道合成为本地录制文件。LocalCompositeRecorder 只负责媒体合成与 MediaRecorder 生命周期;会议宫格、分页、主讲人布局、共享屏幕优先级等业务视角由应用层计算后,通过 videoItems 和 updateVideoItems(...) 传入。
详细用法见 本地合成录制。
publishLocalTrack
将本地轨道发布到频道,发布后远端用户可以订阅。
返回值:
TrackInfo,本次发布在频道内的轨道描述快照;后续要拿最新值请用 channel.getPublishInfo(track)。
unpublishLocalTrack
停止发布本地轨道,远端用户将收到USER_TRACK_REMOVE 事件。
enableLocalTrack
恢复已暂停的本地轨道数据发送。远端会收到TRACK_UNMUTED事件。与publishLocalTrack的区别详见 静音 vs 停止发布。
disableLocalTrack
暂停本地轨道数据发送,但不取消发布。远端会收到TRACK_MUTED事件。与unpublishLocalTrack的区别详见 静音 vs 停止发布。
subscribeRemoteAudioMixTrack
订阅全频道混音流。subscribeRemoteAudioTrack
订阅指定用户的单路音频流。subscribeRemoteVideoTrack
订阅指定用户的视频流。subscribeRemoteVideoMcuTrack
订阅远端视频合成流。RemoteVideoMcuTrack继承自RemoteVideoTrack,可按普通远端视频轨道使用。
unsubscribeRemoteTrack
取消订阅远端流。getRemoteTrack
通过用户 ID 与轨道 ID 或轨道描述获取已订阅的远端轨道实例。id和desc至少要传一个,否则会抛出异常。
enableIm
启用频道外 IM 消息功能。
返回值:
Promise<string>,返回 IM 会话 sid。
disableIm
关闭频道外 IM 消息功能。destroy
彻底释放 SRTC 实例:依次离开所有频道、关闭 IM,并解除实例在浏览器全局对象上注册的监听(设备插拔、页面可见性)。幂等,重复调用直接返回;调用后再使用该实例的方法会抛错。destroy() 时,全局监听会一直持有实例引用、使其无法被回收。因此在 SPA 路由切走音视频页面、组件卸载、或重建新 SRTC 实例之前必须调用;实例与页面同生命周期的应用可以不调。
日常进出频道用 leave()(或 channel.leave())即可,实例可复用继续 join。