继承关系
BaseTrack
所有轨道的基类,提供轨道元信息访问。id
kind
'audio' 或 'video'。
desc
'camera_big'、'screen'。
getInfo
获取完整轨道信息,例如分辨率、码率、采样率等。TrackInfo,详见 类型定义
getUid
获取轨道所属用户的 UID。getMediaStreamTrack
获取底层MediaStreamTrack,可用于 Web Audio API、自定义后处理等场景。
LocalAudioTrack
本地音频轨道基类,也用于自定义音频流,例如srtc.createLocalCustomAudioTrack(...) 的返回值。
继承自 BaseTrack。
startPlay
播放音频,可用于本地监听。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
opt | AudioOutputOptions | 否 | 播放配置,可指定扬声器设备 |
stopPlay
停止播放,释放对播放设备的占用。getVolume
获取当前音频输入音量,范围0 ~ 100。
isPlaying
当前是否正在播放。LocalMicTrack
本地麦克风轨道,继承自LocalAudioTrack,通过 srtc.createLocalMicTrack 创建。
startCapture
开始采集,会向用户请求麦克风权限。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
opt | Partial<MicCaptureOptions> | 否 | 采集配置,可指定设备 ID、回声消除等 |
stopCapture
停止采集,释放麦克风设备。changeDeviceId
热切换麦克风设备。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
deviceId | string | 是 | 目标设备 ID,可通过 getDevices('audioinput') 获取 |
LocalScreenAudioTrack
屏幕共享附带的系统音频轨道,继承自LocalAudioTrack。
这个类通常不直接手动创建,而是通过 LocalScreenTrack.getAudioTrack() 获取。
stopCapture
停止系统音频采集。其余播放相关方法继承自LocalAudioTrack,例如startPlay()、stopPlay()、isPlaying()。
LocalVideoTrack
本地视频轨道基类,也用于自定义视频流,例如srtc.createLocalCustomVideoTrack(...) 的返回值。
继承自 BaseTrack。
addPlayView
将视频渲染到指定 HTML 容器元素。hasPlayView
判断是否已有渲染容器。removePlayView
移除指定渲染容器。removeAllPlayViews
移除所有渲染容器。enterPictureInPicture
让指定容器对应的视频进入画中画模式。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
container | HTMLElement | 是 | 已通过 addPlayView 绑定的视频容器 |
options | PipOptions | 否 | 画中画配置,可指定窗口尺寸、是否优先使用 Document PiP、是否隐藏原始视图 |
默认优先使用 Document PiP。若浏览器不支持,会自动降级到传统 video.requestPictureInPicture()。
exitPictureInPicture
退出指定容器的画中画模式。isPictureInPicture
判断指定容器是否处于画中画模式。popOutToWindow
将指定容器对应的视频弹出到独立浏览器窗口。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
container | HTMLElement | 是 | 已通过 addPlayView 绑定的视频容器 |
options | PopOutOptions | 否 | 弹窗配置,可指定窗口尺寸、标题、是否隐藏原始视图 |
closePopOutWindow
关闭指定容器对应的弹出窗口。isPopOut
判断指定容器是否已经弹出到独立窗口。getSimulcastTrack
基于给定的联播发布参数创建或获取一个联播子轨道。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
opt | VideoPublishOptions | 是 | 联播子轨道的发布参数,desc 不能为空 |
owidth | number | 否 | 原始视频宽度,用于计算编码缩放比例 |
oheight | number | 否 | 原始视频高度,用于计算编码缩放比例 |
对于LocalCameraTrack、LocalScreenTrack和RemoteVideoTrack,以上 PiP / 弹窗方法均可使用。 当options.hideOriginView为true(默认值)时:
Document PiP和弹出窗口会隐藏主页面中的原始播放视图,避免双重渲染- 传统
video PiP仍依赖原始video元素,因此不会隐藏原始视图
LocalCameraTrack
本地摄像头视频轨道,继承自LocalVideoTrack,通过 srtc.createLocalCameraTrack 创建。
startCapture
开始采集,会向用户请求摄像头权限。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
opt | Partial<CameraCaptureOptions> | 否 | 采集配置,可指定设备 ID、分辨率、帧率 |
stopCapture
停止采集,释放摄像头设备。changeDeviceId
热切换摄像头设备。switchFacingMode
在前置/后置摄像头之间切换,仅移动端生效。LocalScreenTrack
本地屏幕共享视频轨道,继承自LocalVideoTrack,通过 srtc.createLocalScreenTrack 创建。
startCapture
开始屏幕采集,浏览器会弹出屏幕选择窗口。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
opt | Partial<ScreenCaptureOptions> | 否 | 采集配置,可指定分辨率、帧率、contentHint 等 |
stopCapture
停止屏幕采集。getAudioTrack
获取同时采集的系统音频轨道。仅当createLocalScreenTrack 传入了 audioPreset 且浏览器支持时有效。
详细用法见 屏幕共享 - 同时采集系统音频
RemoteAudioTrack
远端单路音频轨道,通过srtc.subscribeRemoteAudioTrack 订阅。
继承自 BaseTrack。
startPlay
播放远端音频。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
opt | AudioOutputOptions | 否 | 可指定扬声器设备 |
stopPlay
停止播放,释放对播放设备的占用。isPlaying
当前是否正在播放。RemoteAudioMixTrack
远端全频道混音流,继承自RemoteAudioTrack,通过 srtc.subscribeRemoteAudioMixTrack 订阅。
大多数场景下只需要订阅这一路混音流,而无需订阅每个用户的单独音频流。
getFilterUids
获取当前从混音中排除的用户 ID 列表。播放相关方法继承自RemoteAudioTrack,例如startPlay()、stopPlay()、isPlaying()。
RemoteVideoTrack
远端视频轨道,通过srtc.subscribeRemoteVideoTrack 订阅。
继承自 BaseTrack。