发布自定义流
捕获自定义媒体流
除了从本地摄像头、麦克风设备捕获默认音视频资源外,SDK 还支持获取本地/网络文件流,以及转化浏览器的 MediaStream 实例为 SDK 的音视频资源。
自定义转换 mediaStream
使用 createLocalTracks 可以将浏览器原生 API 获取的 mediaStream 对象转换为 RCLocalTrack 实例对象,满足 App 自行转换的需求。
接口
typescript
rtcClient.createLocalTracks(tag, stream, options)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
tag | string | 是 | 轨道标识 |
stream | MediaStream | 是 | 浏览器原生 API 获取的 mediaStream 对象 |
options | ICreateLocalTrackOptions | 否 | 创建 Track 的配置项 |
示例代码
typescript
/**
* 根据 MediaStream 实例对象创建 RCLocalTrack 实例
* @param tag 轨道标识,包含 A-Z、a-z、0-9、+、=、- 的字符串。trackId 中将包含该 tag。
* @param stream MediaStream 实例
* @param options 可用于指定 `withoutVideo` 与 `withoutAudio` 以剔除视轨与音轨
*/
const { code, tracks } = await rtcClient.createLocalTracks(tag: string, stream: MediaStream, options?: ICreateLocalTrackOptions)
捕获本地或网络文件流
从 RTCLib v5.0.5 开始,新增了 createLocalFileTracks 接口以方便用户实现自定义媒体流的发布。
接口
typescript
rtcClient.createLocalFileTracks(tag, file, options)