类型: interface
混音配置
| 名称 | 描述 |
|---|---|
| playCount | 混音播放次数 |
| type | 混音播放类型 |
类型: number
混音播放次数
注意
play_count <= 0: 无限循环
类型: AudioMixingType
混音播放类型
类型: enum
混音播放类型
| 属性 | 值 | 描述 |
|---|---|---|
| PLAYOUT | 0 |
仅本地播放 |
| PUBLISH | 1 |
仅发送到远端 |
| PLAYOUT_AND_PUBLISH | 2 |
在本地播放并发送到远端 |
类型: interface
播放器事件
| 名称 | 描述 |
|---|---|
| type | 类型 |
| eventName | 事件名称 |
| rawEvent | 播放事件。详见官方文档 |
| userId | 进房用户的 userId |
| publicStreamId | 公共流 ID。 |
| readyState | 媒体就绪状态,详见官方文档 |
| currentTime | 当前时间 |
| isScreen | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
类型: "video" | "audio"
类型
类型: string
事件名称
类型: Event
播放事件。详见官方文档
类型: string
进房用户的 userId
类型: string
公共流 ID。
类型: number
媒体就绪状态,详见官方文档
类型: number
当前时间
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
类型: interface
远端用户进房事件
| 名称 | 描述 |
|---|---|
| userInfo | 进房用户的 userId |
类型: UserInfo
进房用户的 userId
类型: interface
用户信息。
| 名称 | 描述 |
|---|---|
| userId | 用户 ID,长度在 128 字节以内的非空字符串。 |
| extraInfo | 用户传递的额外信息,最大长度为 200 字节。会在 onUserJoined 中回调给远端用户。 |
类型: string
用户 ID,长度在 128 字节以内的非空字符串。
类型: string
用户传递的额外信息,最大长度为 200 字节。会在 onUserJoined 中回调给远端用户。
支持以下字符集范围:
类型: interface
远端用户退房事件
| 名称 | 描述 |
|---|---|
| userInfo | 用户信息 |
| reason | 远端用户离开房间的原因 |
类型: UserInfo
用户信息
远端用户离开房间的原因
类型: enum
远端用户离开房间的原因
| 属性 | 值 | 描述 |
|---|---|---|
| QUIT | 0 |
远端用户调用 leaveRoom 主动退出房间。 |
| DROPPED | 1 |
远端用户因 Token 过期或网络原因等掉线。 |
| SWITCH_TO_INVISIBLE | 2 |
远端用户调用 setUserVisibility 切换至不可见状态。 |
| KICKED_BY_ADMIN | 3 |
服务端调用 OpenAPI 将远端用户踢出房间。 |
类型: interface
连接状态改变
| 名称 | 描述 |
|---|---|
| state | 内部连接状态 |
类型: ConnectionState
内部连接状态
类型: enum
SDK 与信令服务器连接状态。
| 属性 | 值 | 描述 |
|---|---|---|
| CONNECTION_START | 0 |
进行连接前准备,锁定相关资源。 |
| CONNECTION_STATE_DISCONNECTED | 1 |
连接断开。 |
| CONNECTION_STATE_CONNECTING | 2 |
首次连接,正在连接中。 |
| CONNECTION_STATE_CONNECTED | 3 |
首次连接成功。 |
| CONNECTION_STATE_RECONNECTING | 4 |
连接断开后重新连接中。 |
| CONNECTION_STATE_RECONNECTED | 5 |
连接断开后重连成功。 |
| CONNECTION_STATE_LOST | 6 |
处于 CONNECTION_STATE_DISCONNECTED 状态超过 10 秒,且期间重连未成功。SDK将继续尝试重连。 |
类型: enum
媒体流类型
| 属性 | 值 | 描述 |
|---|---|---|
| AUDIO | 1 |
只控制音频 |
| VIDEO | 2 |
只控制视频 |
| AUDIO_AND_VIDEO | 3 |
同时控制音频和视频 |
类型: enum
房间内远端流移除原因。
| 属性 | 值 | 描述 |
|---|---|---|
| STREAM_REMOVE_REASON_UNPUBLISH | 0 |
远端用户停止发布流。 |
| STREAM_REMOVE_REASON_PUBLISH_FAILED | 1 |
远端用户发布流失败。 |
| STREAM_REMOVE_REASON_KEEP_LIVE_FAILED | 2 |
保活失败。 |
| STREAM_REMOVE_REASON_CLIENT_DISCONNECTED | 3 |
远端用户断网。 |
| STREAM_REMOVE_REASON_REPUBLISH | 4 |
远端用户重新发布流。 |
| STREAM_REMOVE_REASON_OTHER | 5 |
其他原因。 |
类型: interface
第一帧远端视频显示在视图上
| 名称 | 描述 |
|---|---|
| userId | 发布视频用户的 userId |
| height | 高度 |
| width | 宽度 |
类型: string
发布视频用户的 userId
类型: number
高度
类型: number
宽度
类型: interface
第一帧远端视频解码事件
| 名称 | 描述 |
|---|---|
| userId | 发布视频用户的 userId |
| height | 高度 |
| width | 宽度 |
类型: string
发布视频用户的 userId
类型: number
高度
类型: number
宽度
类型: interface
第一帧远端音频解码事件
| 名称 | 描述 |
|---|---|
| userId | 发布视频用户的 userId |
类型: string
发布视频用户的 userId
类型: interface
媒体设备信息及状态。
| 名称 | 描述 |
|---|---|
| mediaDeviceInfo | 媒体设备信息,参看 MediaDeviceInfo。 |
| deviceState | 设备状态。 active:设备已连接。 inactive:设备已断开连接。 |
类型: MediaDeviceInfo
媒体设备信息,参看 MediaDeviceInfo。
类型: "active" | "inactive"
设备状态。
active:设备已连接。
inactive:设备已断开连接。
类型: interface
自动播放失败事件
| 名称 | 描述 |
|---|---|
| userId | 自动播放失败的流所属的用户 ID。不带此参数时表示本地流播放失败。 |
| kind | 自动播放失败的媒体类型 例如,当同一用户的视频流和音频流自动播放都失败时,将触发两次 onAutoPlayFailed 回调,分别包含 audio 和 video 参数。 |
类型: string
自动播放失败的流所属的用户 ID。不带此参数时表示本地流播放失败。
类型: "video" | "audio"
自动播放失败的媒体类型
例如,当同一用户的视频流和音频流自动播放都失败时,将触发两次 onAutoPlayFailed 回调,分别包含 audio 和 video 参数。
类型: interface
点对点文本消息
| 名称 | 描述 |
|---|---|
| userId | 发送消息的用户 |
| message | 点对点文本消息 |
类型: string
发送消息的用户
类型: string
点对点文本消息
类型: interface
点对点二进制消息
| 名称 | 描述 |
|---|---|
| userId | 发送消息的用户 |
| message | 点对点二进制消息 |
类型: string
发送消息的用户
类型: ArrayBuffer
点对点二进制消息
类型: interface
远端媒体流统计信息,统计周期为 2s 。
本地用户订阅媒体流成功后,SDK 会周期性地通知远端的媒体流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。
| 名称 | 描述 |
|---|---|
| userId | 进房用户的 userId |
| audioStats | 远端音频流信息 |
| videoStats | 远端视频流信息 |
| isScreen | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
类型: string
进房用户的 userId
类型: RemoteAudioStats
远端音频流信息
类型: RemoteVideoStats
远端视频流信息
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
类型: interface
远端音频流统计信息,统计周期为 2s 。
本地用户订阅音频流成功后,SDK 会周期性地通知远端的音频流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。
| 名称 | 描述 |
|---|---|
| audioLossRate | 音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。 |
| receivedKBitrate | 接收码率。统计周期内的音频接收码率,单位为 kbps 。 |
| stallCount | 统计周期内的卡顿次数 |
| stallDuration | 统计周期内的卡顿时长,单位为 ms 。 |
| statsInterval | 统计间隔。此次统计周期的间隔,单位为 ms 。 |
| rtt | 往返时延,单位:ms |
| jitterBufferDelay | 抖动延迟,单位:ms |
| numChannels | 声道数 |
| receivedSampleRate | 接收侧采样率 |
| concealedSamples | 音频丢包补偿(PLC) 样点总个数 |
| concealmentEvent | 音频丢包补偿(PLC) 累计次数 |
类型: number
音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
类型: number
接收码率。统计周期内的音频接收码率,单位为 kbps 。
类型: number
统计周期内的卡顿次数
类型: number
统计周期内的卡顿时长,单位为 ms 。
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
类型: number
往返时延,单位:ms
类型: number
抖动延迟,单位:ms
类型: number
声道数
类型: number
接收侧采样率
类型: number
音频丢包补偿(PLC) 样点总个数
类型: number
音频丢包补偿(PLC) 累计次数
类型: interface
远端视频流统计信息,统计周期为 2s 。
本地用户订阅视频流成功后,SDK 会周期性地通知远端的视频流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。
| 名称 | 描述 |
|---|---|
| width | 宽度,单位:px |
| height | 高度,单位:px |
| videoLossRate | 视频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。 |
| receivedKBitrate | 接收码率。统计周期内的音频接收码率,单位为 kbps 。 |
| decoderOutputFrameRate | 解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。 |
| stallCount | 统计周期内的卡顿次数 |
| stallDuration | 统计周期内的卡顿时长,单位为 ms 。 |
| isScreen | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
| statsInterval | 统计间隔。此次统计周期的间隔,单位为 ms 。 |
| rtt | 客户端到服务端数据传输的往返时延,单位:ms |
类型: number
宽度,单位:px
类型: number
高度,单位:px
类型: number
视频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
类型: number
接收码率。统计周期内的音频接收码率,单位为 kbps 。
类型: number
解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。
类型: number
统计周期内的卡顿次数
类型: number
统计周期内的卡顿时长,单位为 ms 。
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
类型: number
客户端到服务端数据传输的往返时延,单位:ms
类型: interface
本地媒体流统计信息以及网络状况,统计周期为 2s 。
本地用户发布媒体流成功后,SDK 会周期性地通知本地用户发布的媒体流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。
| 名称 | 描述 |
|---|---|
| audioStats | 本地发送音频流的统计信息。 |
| videoStats | 本地发送视频流的统计信息。 |
| isScreen | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
类型: LocalAudioStats
本地发送音频流的统计信息。
类型: LocalVideoStats
本地发送视频流的统计信息。
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
类型: interface
本地音频流统计信息以及网络状况,统计周期为 2s 。
本地用户发布音频流成功后,SDK 会周期性地通知本地用户发布的音频流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。
| 名称 | 描述 |
|---|---|
| audioLossRate | 音频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。 |
| sendKBitrate | 发送码率。统计周期内的音频接收码率,单位为 kbps 。 |
| recordSampleRate | 采集采样率。统计周期内的音频采集采样率信息,单位为 Hz 。 |
| statsInterval | 统计间隔。此次统计周期的间隔,单位为 ms 。 |
| rtt | 客户端到服务端数据传输的往返时延,单位:ms |
| numChannels | 声道数 |
类型: number
音频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。
类型: number
发送码率。统计周期内的音频接收码率,单位为 kbps 。
类型: number
采集采样率。统计周期内的音频采集采样率信息,单位为 Hz 。
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
类型: number
客户端到服务端数据传输的往返时延,单位:ms
类型: number
声道数
类型: interface
本地视频流统计信息以及网络状况,统计周期为 2s 。
本地用户发布视频流成功后,SDK 会周期性地通知本地用户发布的视频流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。
| 名称 | 描述 |
|---|---|
| sentKBitrate | 发送码率,单位:kbps。统计周期内的视频发送码率 |
| sentFrameRate | 发送帧率。统计周期内的视频发送帧率,单位为 fps 。 |
| encoderOutputFrameRate | 编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。 |
| rendererOutputFrameRate | 本地渲染帧率。统计周期内的本地视频渲染帧率,单位为 fps 。 |
| statsInterval | 统计间隔。此次统计周期的间隔,单位为 ms 。 |
| videoLossRate | 视频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。 |
| rtt | 客户端到服务端数据传输的往返时延,单位:ms |
| encodedFrameWidth | 视频编码宽度,单位为 px 。 |
| encodedFrameHeight | 视频编码高度,单位为 px 。 |
| encodedFrameCount | 统计周期内发送的视频帧总数 |
| codecType | 视频的编码类型,具体参考 VideoCodecType |
| isScreen | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
类型: number
发送码率,单位:kbps。统计周期内的视频发送码率
类型: number
发送帧率。统计周期内的视频发送帧率,单位为 fps 。
类型: number
编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。
类型: number
本地渲染帧率。统计周期内的本地视频渲染帧率,单位为 fps 。
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
类型: number
视频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。
类型: number
客户端到服务端数据传输的往返时延,单位:ms
类型: number
视频编码宽度,单位为 px 。
类型: number
视频编码高度,单位为 px 。
类型: number
统计周期内发送的视频帧总数
类型: string
视频的编码类型,具体参考 VideoCodecType
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
用户订阅的公共流统计信息以及网络状况,统计周期为 2s。
Omit<
RemoteStreamStats,
'userId' | 'isScreen'
> & {
publicStreamId: string;
}
| 名称 | 类型 | 描述 |
|---|---|---|
| publicStreamId | string |
公共流 ID。 |
| RemoteStreamStats | RemoteStreamStats |
远端媒体流统计信息 |
类型: interface
本地音频信息
| 名称 | 描述 |
|---|---|
| streamIndex | 流属性,标记该流为麦克风采集音频流或屏幕音频流。 |
| audioPropertiesInfo | 音频属性信息。 |
类型: StreamIndex
流属性,标记该流为麦克风采集音频流或屏幕音频流。
音频属性信息。
类型: enum
流属性
| 属性 | 值 | 描述 |
|---|---|---|
| STREAM_INDEX_MAIN | 0 |
主流。包括:通过默认摄像头/麦克风采集到的视频/音频; |
| STREAM_INDEX_SCREEN | 1 |
屏幕流。共享的视频流,或来自声卡的本地播放音频流。 |
类型: interface
音频属性信息
| 名称 | 描述 |
|---|---|
| linearVolume | 线性音量,与原始音量呈线性关系,数值越大,音量越大。取值范围是:[0,255]。 - [0, 25]: 无声 - [26, 75]: 低音量 - [76, 204]: 中音量 - [205, 255]: 高音量 |
| nonlinearVolume | 非线性音量。由原始音量的对数值转化而来,因此在中低音量时更灵敏,可以用作 Active Speaker(房间内最活跃用户)的识别。取值范围是:[-127,0],单位 dB。 - [-127, -60]: 无声 - [-59, -40]: 低音量 - [-39, -20]: 中音量 - [-19, 0]: 高音量 |
类型: number
线性音量,与原始音量呈线性关系,数值越大,音量越大。取值范围是:[0,255]。
- [0, 25]: 无声
- [26, 75]: 低音量
- [76, 204]: 中音量
- [205, 255]: 高音量
类型: number
非线性音量。由原始音量的对数值转化而来,因此在中低音量时更灵敏,可以用作 Active Speaker(房间内最活跃用户)的识别。取值范围是:[-127,0],单位 dB。
- [-127, -60]: 无声
- [-59, -40]: 低音量
- [-39, -20]: 中音量
- [-19, 0]: 高音量
类型: interface
远端音频信息
| 名称 | 描述 |
|---|---|
| streamKey | 远端流信息 |
| audioPropertiesInfo | 远端音频属性信息 |
类型: StreamKey
远端流信息
远端音频属性信息
类型: interface
远端流信息
| 名称 | 描述 |
|---|---|
| roomId | 房间 ID |
| userId | 用户 ID |
| streamIndex | 流属性,标记该流为麦克风采集音频流或屏幕音频流。 |
类型: string
房间 ID
类型: string
用户 ID
类型: StreamIndex
流属性,标记该流为麦克风采集音频流或屏幕音频流。
类型: interface
收到带有 SEI 消息的视频帧时,收到此回调
| 名称 | 描述 |
|---|---|
| remoteStreamKey | 包含 SEI 发送者的用户名,所在的房间名和媒体流 |
| sei | 收到的 SEI 消息内容 |
类型: RemoteStreamKey
包含 SEI 发送者的用户名,所在的房间名和媒体流
类型: Uint8Array
收到的 SEI 消息内容
类型: interface
远端流信息
| 名称 | 描述 |
|---|---|
| roomId | 房间 ID |
| userId | 用户 ID |
| streamIndex | 流属性,包括主流、屏幕流。 |
类型: string
房间 ID
类型: string
用户 ID
类型: StreamIndex
流属性,包括主流、屏幕流。
类型: enum
音视频流订阅结果
| 属性 | 值 | 描述 |
|---|---|---|
| SUBSCRIBE_SUCC | 0 |
更新订阅状态成功 |
| SUBSCRIBE_FAIL | 1 |
更新订阅状态失败 |
类型: enum
音视频流发布结果
| 属性 | 值 | 描述 |
|---|---|---|
| PUBLISH_SUCC | 0 |
发布成功 |
| PUBLISH_FAIL | 1 |
发布失败 |
类型: interface
音频混音文件播放状态改变事件
| 名称 | 描述 |
|---|---|
| mixId | 混音 ID |
| state | 混音状态 |
| error | 混音错误 |
类型: number
混音 ID
类型: any
混音状态
类型: any
混音错误
类型: interface
| 名称 | 描述 |
|---|---|
| interval |
类型: number
类型: interface
公共流发布结果
| 名称 | 描述 |
|---|---|
| code | 公共流发布事件编号 |
| message | 公共流发布事件详情 |
类型: number
公共流发布事件编号
类型: string
公共流发布事件详情
公共流首帧视频解码事件。
Omit<
onVideoFirstFrameDecodedEvent,
'userId'
> & {
publicStreamId: string;
}
| 名称 | 类型 | 描述 |
|---|---|---|
| publicStreamId | string |
公共流 ID。 |
| onVideoFirstFrameDecodedEvent | onVideoFirstFrameDecodedEvent |
视频首帧解码事件。 |
类型: interface
公共流首帧解码/渲染事件。
| 名称 | 描述 |
|---|---|
| publicStreamId | 公共流 ID。 |
类型: string
公共流 ID。
类型: enum
网络质量
| 属性 | 值 | 描述 |
|---|---|---|
| UNKNOWN | 0 |
网络质量未知 |
| EXCELLENT | 1 |
网络质量极好 |
| GOOD | 2 |
主观感觉和 Excellent 差不多,但码率可能略低 |
| POOR | 3 |
主观感受有瑕疵但不影响沟通 |
| BAD | 4 |
勉强能沟通但不顺畅。建议降低采样率、码率或通过 UI 提示用户是否切换为纯语音通话。 |
| VBAD | 5 |
网络质量非常差,基本不能沟通。建议通过 UI 给出弱网提示。 |
类型: interface
流切换信息。本地用户订阅的远端流触发回退策略时的流切换信息。
| 名称 | 描述 |
|---|---|
| userId | 订阅的音视频流的发布者的用户 ID |
| isScreen | 是否是屏幕共享流 |
| beforeVideoIndex | 原分辨率视频流的下标 |
| afterVideoIndex | 现分辨率视频流的下标 |
| beforeEnable | 原媒体流是否是视频流 |
| afterEnable | 现媒体流是否是视频流 |
| reason | 触发流回退或恢复的原因 |
类型: string
订阅的音视频流的发布者的用户 ID
类型: boolean
是否是屏幕共享流
类型: number
原分辨率视频流的下标
类型: number
现分辨率视频流的下标
类型: boolean
原媒体流是否是视频流
类型: boolean
现媒体流是否是视频流
触发流回退或恢复的原因
类型: enum
触发流回退或恢复的原因
| 属性 | 值 | 描述 |
|---|---|---|
| Unknown | -1 |
其他原因,非带宽原因引起的回退或恢复。默认值 |
| SubscribeFallbackByBandwidth | 0 |
由带宽不足导致的流回退。 |
| SubscribeRecoverByBandwidth | 2 |
由带宽恢复导致的流恢复。 |
类型: interface
转推直播相关事件。
| 名称 | 描述 |
|---|---|
| event | 转推直播事件类型。 |
| error | 转推直播事件错误码。 |
| message | 转推直播事件错误详情。 |
转推直播事件类型。
类型: StreamMixingEventErrorCode
转推直播事件错误码。
类型: string
转推直播事件错误详情。
类型: enum
转推直播事件类型
| 属性 | 值 | 描述 |
|---|---|---|
| START | 1 |
已发起开始转推请求。 |
| START_SUCCESS | 2 |
转推至 CDN 成功。 |
| START_FAILED | 3 |
推流 CDN 失败。 |
| UPDATE | 4 |
已发起更新转推请求。 |
| UPDATE_SUCCESS | 5 |
成功应用新配置进行推流。 |
| UPDATE_FAILED | 6 |
更新合流失败,新配置参数校验失败或配置未生效。 |
| STOP | 7 |
已发起停止转推请求。 |
| STOP_SUCCESS | 8 |
成功停止推流至CDN。 |
| STOP_FAILED | 9 |
停止推流失败。 |
类型: enum
转推直播错误码
| 属性 | 值 | 描述 |
|---|---|---|
| ERR_OK | 0 |
推流成功 |
| ERR_PARAM_INVALID | 1 |
推流参数错误。 |
| ERR_FRAME_TIMEOUT | 2 |
和 RTC 服务端建立连接失败,会自动重连。 |
| ERR_POSTPROCESS | 3 |
合流服务中间过程存在错误,建议重试。 |
| ERR_PUSH_CDN | 4 |
推流失败,等待服务端重推。 |
| ERR_UNKNOWN | 9999 |
其他异常。 |
类型: interface
视频流发布封禁/解禁事件
| 名称 | 描述 |
|---|---|
| uid | 被禁用/解禁的视频流用户 ID |
| banned | 视频流发布状态 true:视频流发布被禁止 false: 视频流发布被解禁 |
类型: string
被禁用/解禁的视频流用户 ID
类型: boolean
视频流发布状态
true:视频流发布被禁止
false: 视频流发布被解禁
类型: interface
音频流发布封禁/解禁事件
| 名称 | 描述 |
|---|---|
| uid | 被禁用/解禁的音频流用户 ID |
| banned | 音频流发布状态 true:音频流发布被禁止 false: 音频流发布被解禁 |
类型: string
被禁用/解禁的音频流用户 ID
类型: boolean
音频流发布状态
true:音频流发布被禁止
false: 音频流发布被解禁
类型: interface
房间参数配置
| 名称 | 描述 |
|---|---|
| isAutoPublish | 是否自动发布音频流,默认为自动发布。 取消自动发布后,通过调用 publish 进行音视频流发布。 |
| isAutoSubscribeAudio | 是否自动订阅音频流,默认为自动订阅。 不包含屏幕流。 进房后,你可以调用 subscribeUserStream 修改订阅设置。 |
| isAutoSubscribeVideo | 是否自动订阅视频流,默认为自动订阅。 不包含屏幕流。 进房后,你可以调用 subscribeUserStream 修改订阅设置。 |
| roomProfileType | 房间模式 根据所需场景,选择合适的房间模式,应用不同的音视频算法、视频参数和网络配置 调用 setAudioProfile 选择音频参数配置 |
| remoteVideoConfig | 远端视频流参数 |
类型: boolean
是否自动发布音频流,默认为自动发布。
取消自动发布后,通过调用 publish 进行音视频流发布。
类型: boolean
是否自动订阅音频流,默认为自动订阅。
不包含屏幕流。
进房后,你可以调用 subscribeUserStream 修改订阅设置。
类型: boolean
是否自动订阅视频流,默认为自动订阅。
不包含屏幕流。
进房后,你可以调用 subscribeUserStream 修改订阅设置。
类型: RoomProfileType
房间模式
根据所需场景,选择合适的房间模式,应用不同的音视频算法、视频参数和网络配置
调用 setAudioProfile 选择音频参数配置
远端视频流参数
类型: enum
房间模式
调用 joinRoom 时,根据所需场景,选择合适的房间模式,应用不同的音视频算法、视频参数和网络配置
如果需要设置音频参数,应调用 setAudioProfile 进行配置
| 属性 | 值 | 描述 |
|---|---|---|
| communication | 0 |
默认场景,普通音视频通话模式,例如,语音聊天室 |
| chat | 5 |
适用于 1 vs 1 音视频通话 |
| chatRoom | 6 |
适用于 2 人以上纯语音通话 |
| coHost | 9 |
适用于直播中主播之间连麦的业务场景 |
| meeting | 16 |
适用于云端会议中的个人设备 |
| classRoom | 18 |
适用于课堂互动,房间内同时进行音视频互动的人数大于 9 人 |
类型: interface
远端视频流参数
| 名称 | 描述 |
|---|---|
| width | 视频宽度,单位:px |
| height | 视频宽度,单位:px |
类型: number
视频宽度,单位:px
类型: number
视频宽度,单位:px
类型: interface
屏幕共享流设置
| 名称 | 描述 |
|---|---|
| enableAudio | 在共享屏幕时是否显示共享音频选项: • Window 端选择共享整个屏幕时支持共享系统音频;在共享 Chrome 标签页时支持共享 Tab 标签页面音频。 • macOS 仅支持在共享 Chrome 标签页时共享 Tab 标签页面音频。 |
类型: boolean
在共享屏幕时是否显示共享音频选项:
• Window 端选择共享整个屏幕时支持共享系统音频;在共享 Chrome 标签页时支持共享 Tab 标签页面音频。
• macOS 仅支持在共享 Chrome 标签页时共享 Tab 标签页面音频。
类型: interface
播放器信息和渲染模式
| 名称 | 描述 |
|---|---|
| renderDom | DOM |
| renderMode | 渲染模式:可选 RENDER_MODE_HIDDEN 和 RENDER_MODE_FIT 。 |
| userId | 用户 ID,支持以下字符集范围 + 26 个大写字母 A ~ Z + 26 个小写字母 a ~ z + 10 个数字 0 ~ 9 + 下划线 "_",at 符 "@",减 号 "-" |
类型: string | HTMLElement
DOM
类型: VideoRenderMode
渲染模式:可选 RENDER_MODE_HIDDEN 和 RENDER_MODE_FIT 。
类型: string
用户 ID,支持以下字符集范围
+ 26 个大写字母 A ~ Z
+ 26 个小写字母 a ~ z
+ 10 个数字 0 ~ 9
+ 下划线 "_",at 符 "@",减 号 "-"
类型: enum
渲染模式
| 属性 | 值 | 描述 |
|---|---|---|
| RENDER_MODE_HIDDEN | 0 |
视窗填满优先。 视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。 |
| RENDER_MODE_FIT | 1 |
视频帧内容全部显示优先。 视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将被涂黑。 |
类型: enum
镜像类型
| 属性 | 值 | 描述 |
|---|---|---|
| MIRROR_TYPE_NONE | 0 |
本地渲染和编码传输时均无镜像效果 |
| MIRROR_TYPE_RENDER | 1 |
本地渲染时有镜像效果,编码传输时无镜像效果 |
类型: interface
视频编码参数
| 名称 | 描述 |
|---|---|
| width | 视频宽度,单位:px。 |
| height | 视频高度,单位:px。 |
| frameRate | 视频帧率,单位:fps。 |
| maxKbps | 最大编码码率,RTC SDK 内部采集和自定义采集均需设定 > 0 的数值,默认值为 3000kbps。 |
类型: number
视频宽度,单位:px。
类型: number
视频高度,单位:px。
类型: number
视频帧率,单位:fps。
类型: number
最大编码码率,RTC SDK 内部采集和自定义采集均需设定 > 0 的数值,默认值为 3000kbps。
类型: interface
屏幕共享的视频编码参数。
| 名称 | 描述 |
|---|---|
| width | 视频宽度,单位:px。 |
| height | 视频高度,单位:px。 |
| frameRate | 视频帧率,单位:fps。 |
| maxKbps | 最大编码码率,RTC SDK 内部采集和自定义采集均需设定 > 0 的数值,默认值为 3000kbps。 |
| contentHint | 屏幕共享的视频内容类型。 - 'detail'【默认值】:清晰度优先,适用于视频内容包含图片、文本混排的情况。 - 'text':清晰度优先,适用于视频内容只包含大量文本的情况。 - 'motion':流畅度优先,适用于视频内容为摄像头采集、电影、视频、游戏的情况。 |
类型: number
视频宽度,单位:px。
类型: number
视频高度,单位:px。
类型: number
视频帧率,单位:fps。
类型: number
最大编码码率,RTC SDK 内部采集和自定义采集均需设定 > 0 的数值,默认值为 3000kbps。
类型: "text" | "motion" | "detail"
屏幕共享的视频内容类型。
- 'detail'【默认值】:清晰度优先,适用于视频内容包含图片、文本混排的情况。
- 'text':清晰度优先,适用于视频内容只包含大量文本的情况。
- 'motion':流畅度优先,适用于视频内容为摄像头采集、电影、视频、游戏的情况。
仅支持Chrome浏览器设置此参数。
类型: interface
音频信息提示的相关配置
| 名称 | 描述 |
|---|---|
| interval | 信息提示间隔,单位:ms,默认为 100ms + <= 0: 关闭信息提示;+ (0,100]: 开启信息提示,不合法的 interval 值,SDK 自动设置为 100ms;+ > 100: 开启信息提示,并将信息提示间隔设置为此值。 |
| enableInBackground | 是否在页面隐藏时保持开启获取音量回调,默认保持开启。 + true: 保持开启 + false:关闭 |
类型: number
信息提示间隔,单位:ms,默认为 100ms
+ <= 0: 关闭信息提示;
+ (0,100]: 开启信息提示,不合法的 interval 值,SDK 自动设置为 100ms;
+ > 100: 开启信息提示,并将信息提示间隔设置为此值。
类型: boolean
是否在页面隐藏时保持开启获取音量回调,默认保持开启。
+ true: 保持开启
+ false:关闭
类型: interface
转码推流配置参数
| 名称 | 描述 |
|---|---|
| url | 推流 CDN 地址 |
| audio | 音频参数 |
| video | 视频参数 |
| layout | 用户布局信息 |
类型: string
推流 CDN 地址
类型: Partial<LiveTranscodeAudioConfig>
音频参数
类型: Partial<LiveTranscodeVideoConfig>
视频参数
类型: Partial<LiveTranscodeLayoutConfig>
用户布局信息
类型: interface
音频转码配置参数
| 名称 | 描述 |
|---|---|
| codec | 音频编码格式,选填,默认为 AAC |
| kBitRate | 音频码率。单位为 kbps。可选取值:32, 64,128,192。默认值为 64 Kbps |
| sampleRate | 音频采样率。单位为 kHz。可选取值:32, 44.1, 48。默认值为 48 Khz。 |
| channels | 音频声道数,可取 1 或 2。默认值为双声道。 |
| AACProfile | AAC 编码类型。可选 LC, HEv1, 和 HEv2。默认值为 LC。 |
类型: string
音频编码格式,选填,默认为 AAC
类型: number
音频码率。单位为 kbps。可选取值:32, 64,128,192。默认值为 64 Kbps
类型: number
音频采样率。单位为 kHz。可选取值:32, 44.1, 48。默认值为 48 Khz。
类型: number
音频声道数,可取 1 或 2。默认值为双声道。
类型: "LC" | "HEv1" | "HEv2"
AAC 编码类型。可选 LC, HEv1, 和 HEv2。默认值为 LC。
类型: interface
视频转码配置参数。传入超出取值范围的值将导致转推任务发起或更新失败。
| 名称 | 描述 |
|---|---|
| width | 宽。范围为 [2, 4096],必须是偶数。单位 px。默认 640 px。 |
| height | 高。范围为 [2, 2160],必须是偶数。单位 px。默认 360 px |
| codec | 编码格式。默认 H264。 |
| fps | 合流视频帧率。取值范围 >0。单位 fps。默认为 30 fps。 |
| gop | 视频 I 帧间隔。取值范围 >0。默认为 60。 |
| lowLatency | 是否使用低延时特性。默认开启。 |
| kBitRate | 合流视频码率。取值范围 [16, 50000000]。单位为 Kbps。默认为 600 Kbps。 |
类型: number
宽。范围为 [2, 4096],必须是偶数。单位 px。默认 640 px。
类型: number
高。范围为 [2, 2160],必须是偶数。单位 px。默认 360 px
类型: string
编码格式。默认 H264。
类型: number
合流视频帧率。取值范围 >0。单位 fps。默认为 30 fps。
类型: number
视频 I 帧间隔。取值范围 >0。默认为 60。
类型: boolean
是否使用低延时特性。默认开启。
类型: number
合流视频码率。取值范围 [16, 50000000]。单位为 Kbps。默认为 600 Kbps。
类型: interface
视频流合流整体布局信息
开启转推直播功能后,你可以设置参与合流的每路视频流的预设布局信息和合流背景信息等。
| 名称 | 描述 |
|---|---|
| regions | 用户布局信息列表 |
| appData | 透传的 App 数据 |
| backgroundColor | 画布的背景颜色 |
类型: LiveTranscodeLayoutRegion[]
用户布局信息列表
类型: string
透传的 App 数据
类型: string
画布的背景颜色
类型: interface
单个视频流在合流中的布局信息
| 名称 | 描述 |
|---|---|
| alpha | 透明度。可选范围为 [0.0, 1.0]。 |
| userId | 视频流发布用户的用户 ID |
| x | 视频流对应区域左上角的横坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。 |
| y | 视频流对应区域左上角的纵坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。 |
| zorder | 用户视频布局在画布中的层级。取值范围为[0 - 100]。0为底层,值越大越上层。 |
| w | 视频流对应区域宽度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。 |
| h | 视频流对应区域高度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。 |
| renderMode | 视频显示模式,默认可设置为1。可选取值如下: • 1: 视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。 • 2: 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。 • 3: 视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。 |
| contentControl | 合流内容控制。默认值为0,可选取值如下: • 0: 输出的混流包含音视频 • 1: 只包含音频 • 2: 只包含视频 |
| isScreenStream | 是否是屏幕流 |
| isLocalUser | 是否本地用户 |
类型: number
透明度。可选范围为 [0.0, 1.0]。
类型: string
视频流发布用户的用户 ID
类型: number
视频流对应区域左上角的横坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。
类型: number
视频流对应区域左上角的纵坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。
类型: number
用户视频布局在画布中的层级。取值范围为[0 - 100]。0为底层,值越大越上层。
类型: number
视频流对应区域宽度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。
类型: number
视频流对应区域高度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。
类型: number
视频显示模式,默认可设置为1。可选取值如下:
• 1: 视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
• 2: 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。
• 3: 视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。
类型: number
合流内容控制。默认值为0,可选取值如下:
• 0: 输出的混流包含音视频
• 1: 只包含音频
• 2: 只包含视频
类型: boolean
是否是屏幕流
类型: boolean
是否本地用户
类型: enum
视频采集方式
| 属性 | 值 | 描述 |
|---|---|---|
| VIDEO_SOURCE_TYPE_EXTERNAL | 0 |
自定义采集 |
| VIDEO_SOURCE_TYPE_INTERNAL | 1 |
内部采集,使用由 SDK 提供的视频采集模块(默认) |
类型: enum
音频采集方式
| 属性 | 值 | 描述 |
|---|---|---|
| AUDIO_SOURCE_TYPE_EXTERNAL | 0 |
自定义采集模块 |
| AUDIO_SOURCE_TYPE_INTERNAL | 1 |
内部采集,使用由 SDK 提供的音频采集模块 |
类型: enum
登录状态
| 属性 | 值 | 描述 |
|---|---|---|
| OFFLINE | 0 |
离线。无法收发点对点消息。 |
| ONLINE | 1 |
在线 |
| UNREACHABLE | 2 |
未知。无法收发点对点消息。 |
类型: interface
云代理信息。
| 名称 | 描述 |
|---|---|
| logProxy | 埋点日志上报的的代理地址。 |
| accessProxy | 统一接入的代理地址。 |
| configProxy | RTC 配置下发的代理地址。 |
类型: string
埋点日志上报的的代理地址。
类型: string
统一接入的代理地址。
类型: string
RTC 配置下发的代理地址。
类型: interface
公共流配置信息
| 名称 | 描述 |
|---|---|
| video | 视频参数 |
| layout | 公共流的布局模式 |
类型: { width?: number; height?: number; fps?: number; kBitRate: number; }
视频参数
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| width | number |
宽度,单位:px。 仅支持设为偶数,如果设为奇数,将导致公共流发布失败。 |
| height | number |
高度,单位:px。 仅支持设为偶数,如果设为奇数,后处理会直接拒绝,导致公共流失败。 |
| fps | number |
帧率,单位:fps |
| kBitRate | number |
码率,单位:kbps |
类型: { interpolationMode?: PublicInterpolationMode; backgroundColor?: string; backgroundImage?: string; regions?: PublicStreamLayoutRegion[]; }
公共流的布局模式
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| interpolationMode | PublicInterpolationMode |
补帧模式 |
| backgroundColor | string |
背景颜色,用 Hex 色值表示。 |
| backgroundImage | string |
背景图片的 URL。长度最大为 1024 byte。可以传入的图片的格式包括:JPG, JPEG, PNG。 |
| regions | PublicStreamLayoutRegion[] |
多路媒体流布局设置。 |
类型: enum
补帧模式
| 属性 | 值 | 描述 |
|---|---|---|
| PREV_FRAME | 0 |
补最后一帧。 |
| OTHER_FRAME | 1 |
补背景图片或者黑帧。 |
多路媒体流中一路流的布局设置。
Omit<
LiveTranscodeLayoutRegion,
'isLocalUser' | 'contentControl'
> & {
roomId: string;
mediaType?: PublicStreamType;
sourceCrop?: {
x: number;
y: number;
w: number;
h: number;
};
}
| 名称 | 类型 | 描述 |
|---|---|---|
| roomId | string |
媒体流发布用户的房间 ID |
| mediaType | PublicStreamType |
公共流输出内容类型 |
| sourceCrop | { x: number; y: number; w: number; h: number; } |
公共流视频裁剪配置 |
| x | number |
裁剪后得到的视频帧左上角横坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)。 |
| y | number |
裁剪后得到的视频帧左上角纵坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)。 |
| w | number |
裁剪后得到的视频帧宽度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]。 |
| h | number |
裁剪后得到的视频帧高度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]。 |
类型: enum
公共流输出内容类型
| 属性 | 值 | 描述 |
|---|---|---|
| AUDIO_AND_VIDEO | 0 |
包含音视频 |
| AUDIO_ONLY | 1 |
仅包含音频 |
| VIDEO_ONLY | 2 |
仅包含视频 |
类型: enum
订阅端音视频流回退选项。
| 属性 | 值 | 描述 |
|---|---|---|
| DISABLE | 0 |
不开启回退功能。默认设置。 |
| VIDEO_STREAM_LOW | 1 |
下行网络不佳时,对视频流做降级处理。具体降级规则参看音视频流回退文档。 该设置仅对发布端调用 EnableSimulcastMode 开启发送多路流功能的情况生效。 |
| AUDIO_ONLY | 2 |
下行网络不佳时,取消接收视频,仅接收音频。 当发布端开启发送多路流功能时,设置此选项不利于提升用户体验,因此不建议设置此选项。 |
类型: enum
远端用户优先级
| 属性 | 值 | 描述 |
|---|---|---|
| LOW | 0 |
用户优先级为低(默认值) |
| MEDIUM | 100 |
用户优先级为正常 |
| HIGH | 200 |
用户优先级为高 |
类型: enum
音质档位
调用 setAudioProfile 设置的音质档位
| 属性 | 值 | 描述 |
|---|---|---|
| default | 0 |
默认音质 服务器下发或客户端已设置的 RoomProfileType#RoomProfileType 的音质配置 |
| fluent | 1 |
流畅音质。 单声道,采样率为 16kHz,编码码率为 24kbps。 流畅优先、低功耗、低流量消耗,适用于大部分游戏场景,如小队语音、组队语音、国战语音等。 |
| standard | 2 |
单声道标准音质。 采样率为 48kHz,编码码率为 48kbps。 适用于对音质有一定要求的场景,同时延时、功耗和流量消耗相对适中,适合教育场景和狼人杀等游戏。 |
| hd | 3 |
双声道音乐音质 采样率为 48kHz,编码码率为 128kbps。 超高音质,同时延时、功耗和流量消耗相对较大,适用于连麦 PK 等音乐场景。 游戏场景不建议使用。 |
| standardStereo | 4 |
双声道标准音质。采样率为 48 KHz,编码码率最大值为 80 Kbps |
| hdMono | 5 |
单声道音乐音质。采样率为 48 kHz,编码码率最大值为 128 Kbps |
类型: interface
引擎级别配置项
| 名称 | 描述 |
|---|---|
| autoPlayPolicy | 自动播放策略 |
自动播放策略
类型: enum
自动播放策略。参考自动播放策略,获取更多相关信息。
| 属性 | 值 | 描述 |
|---|---|---|
| AUTO_PLAY | 0 |
默认值,自动播放音频和视频 |
| VIDEO_ONLY | 1 |
自动播放视频,不自动播放音频 |
| PLAY_MANUALLY | 2 |
不自动播放,引导用户通过交互,手动播放 |