new SRTC(initParams) 创建实例。
constructor
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
initParams | SdkInitParams | 是 | 初始化参数,详见 SdkInitParams |
buildInfo
获取 SDK 编译信息。getEnvInfo
获取当前浏览器的 WebRTC 能力检测结果,建议在初始化后尽早调用。EnvWebInfo,详见 EnvWebInfo
onNotifyChannelEvent
频道内事件回调,建议在join 前注册。
onNotifyImEvent
频道外 IM 事件回调。join
加入频道。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
token | string | 是 | 服务端签发的加入频道 Token |
options | JoinOptions | 否 | 加入选项,详见 JoinOptions |
leave
主动离开频道。对于本地轨道,SDK 会在离会后自动停止采集、停止播放或移除播放视图。getChannelInfo
获取当前频道信息。未加入频道时返回null。
getUserInfo
获取频道内指定用户信息。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
uid | string | 是 | 用户 ID |
getUsersInfo
获取频道内所有用户信息,支持数组和映射两种返回格式。getStreamMetric
获取当前流媒体全量 metric 快照,包含网络总体统计以及每条本地/远端轨道的TrackMetric。
未加入频道时调用会抛出异常。详细字段含义见 网络质量。
getNetworkStats
获取当前网络总体统计,只关心网络全景(码率、丢包、RTT、可用带宽)时用,比getStreamMetric 更轻量。
未加入频道时调用会抛出异常。
getConnectionQuality
获取当前连接质量评估结果,返回上下行等级、总体等级、MOS 和触发原因。SDK 内部以 2 秒为周期滑动窗口评估。
未加入频道时调用会抛出异常。业务层更推荐订阅 ChannelEventType.CONNECTION_QUALITY_CHANGED 事件被动感知变化。
getDevices
枚举媒体设备列表。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
kind | 'audioinput' | 'audiooutput' | 'videoinput' | 否 | 不传则返回所有类型设备 |
requestPermissions | boolean | 否 | 是否主动请求媒体权限,默认 true |
createLocalMicTrack
创建麦克风音频轨道。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
preset | MicPreset | 否 | 麦克风预设,默认 MicPresets.music |
createLocalCustomAudioTrack
使用自定义MediaStreamTrack 创建本地音频轨道。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
msTrack | MediaStreamTrack | 是 | 音频类型的 MediaStreamTrack |
createLocalCameraTrack
创建摄像头视频轨道。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
preset | CameraPreset | 否 | 摄像头预设,默认 CameraPresets['720p'] |
createLocalScreenTrack
创建屏幕共享视频轨道。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
preset | ScreenPreset | 否 | 视频预设,默认 ScreenPresets['1080p'] |
audioPreset | ScreenAudioPreset | 否 | 系统音频预设,默认 ScreenAudioPresets.default |
默认会同时创建系统音频轨道。真正能否采集到系统音频,还取决于浏览器能力和用户是否在系统分享弹窗中勾选“分享音频”。
createLocalCustomVideoTrack
使用自定义MediaStreamTrack 创建本地视频轨道。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
msTrack | MediaStreamTrack | 是 | 视频类型的 MediaStreamTrack |
publishLocalTrack
将本地轨道发布到频道,发布后远端用户可以订阅。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
track | LocalAudioTrack | LocalVideoTrack | 是 | 要发布的本地轨道 |
opt | Partial<AudioPublishOptions> | Partial<VideoPublishOptions> | 否 | 发布参数,会与创建轨道时的预设参数合并 |
unpublishLocalTrack
停止发布本地轨道,远端用户将收到USER_TRACK_REMOVE 事件。
enableLocalTrack
恢复已暂停的本地轨道数据发送。远端会收到TRACK_UNMUTED事件。与publishLocalTrack的区别详见 静音 vs 停止发布。
disableLocalTrack
暂停本地轨道数据发送,但不取消发布。远端会收到TRACK_MUTED事件。与unpublishLocalTrack的区别详见 静音 vs 停止发布。
subscribeRemoteAudioMixTrack
订阅全频道混音流。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
filter | string[] | ((track: BaseTrack) => boolean) | 否 | 传 string[] 时按 UID 排除;传函数时按轨道判断是否过滤 |
subscribeRemoteAudioTrack
订阅指定用户的单路音频流。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
uid | string | 是 | 用户 ID |
id | string | 是 | 轨道 ID,可从 TrackInfo.id 获取 |
subscribeRemoteVideoTrack
订阅指定用户的视频流。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
uid | string | 是 | 用户 ID |
id | string | 是 | 轨道 ID,可从 TrackInfo.id 获取 |
subscribeRemoteVideoMcuTrack
订阅远端视频合成流。RemoteVideoMcuTrack继承自RemoteVideoTrack,可按普通远端视频轨道使用。
unsubscribeRemoteTrack
取消订阅远端流。getRemoteTrack
通过用户 ID 与轨道 ID 或轨道描述获取已订阅的远端轨道实例。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
uid | string | 是 | 用户 ID |
id | string | 否 | 轨道 ID,与 desc 二选一 |
desc | string | 否 | 轨道描述,与 id 二选一 |
id和desc至少要传一个,否则会抛出异常。
enableIm
启用频道外 IM 消息功能。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
token | string | 是 | IM 启用 Token |
Promise<string>,返回 IM 会话 sid。