类型: interface
混音配置
playCount
类型: number
混音播放次数
type
类型: AudioMixingType | undefined
混音播放类型
类型: enum
混音播放类型
成员
| 属性 | 值 | 描述 |
|---|---|---|
| PLAYOUT | 0 | 仅本地播放 |
| PUBLISH | 1 | 仅发送到远端 |
| PLAYOUT_AND_PUBLISH | 2 | 在本地播放并发送到远端 |
类型: interface
音频帧数据结构体
channels
类型: Float32Array[]
音频帧 PCM 数据
channelCount
类型: number
声道数
sampleRate
类型: number
采样率,单位为 Hz。
类型: interface
播放器事件
type
类型: "video" | "audio"
类型
eventName
类型: string
事件名称
rawEvent
类型: Event
播放事件。详见官方文档
userId
类型: string
进房用户的 userId
publicStreamId
类型: string | undefined
WTN 流 ID。
readyState
类型: number
媒体就绪状态,详见官方文档
currentTime
类型: number
当前时间
isScreen
类型: boolean | undefined
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
playerId
类型: string | undefined
播放器 ID。空值为默认播放器。
类型: interface
远端用户进房事件
userInfo
类型: UserInfo
进房用户的 userId
publishState
类型: InitPublishState
用户的媒体流发布状态
类型: interface
用户信息。
userId
类型: string
用户 ID,长度在 128 字节以内的非空字符串。
extraInfo
类型: string | undefined
用户传递的额外信息,最大长度为 200 字节。会在 onUserJoined 中回调给远端用户。
注意
支持以下字符集范围:
类型: interface
初始发布状态
audio
类型: boolean
麦克风音频流
video
类型: boolean
摄像头流
screenAudio
类型: boolean
设备音频
screenVideo
类型: boolean
屏幕视频流
类型: interface
远端用户退房事件
userInfo
类型: UserInfo
用户信息
reason
远端用户离开房间的原因
类型: 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 | 其他原因。 |
| STREAM_REMOVE_REASON_TOKEN_PRIVILEGE_EXPIRED | 6 | Token 发布权限过期。 |
类型: interface
第一帧远端视频显示在视图上
userId
类型: string
发布视频用户的 userId
height
类型: number
高度
width
类型: number
宽度
isScreen
类型: boolean
是否为屏幕流
playerId
类型: string | undefined
播放器 ID。空值为默认播放器。
该设置对 WTN 流无效。
类型: interface
第一帧远端音频解码事件
userId
类型: string
发布音频用户的 userId
isScreen
类型: boolean
是否为屏幕共享流
类型: interface
媒体设备信息及状态。
mediaDeviceInfo
类型: MediaDeviceInfo
媒体设备信息,参看 MediaDeviceInfo。
deviceState
类型: "active" | "inactive"
设备状态。
active:设备已连接。
inactive:设备已断开连接。
类型: interface
点对点文本消息
userId
类型: string
发送消息的用户
message
类型: string
点对点文本消息
类型: interface
点对点二进制消息
userId
类型: string
发送消息的用户
message
类型: ArrayBuffer
点对点二进制消息
类型: interface
远端媒体流统计信息,统计周期为 2s 。
本地用户订阅媒体流成功后,SDK 会周期性地通知远端的媒体流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。
userId
类型: string
进房用户的 userId
audioStats
类型: RemoteAudioStats
远端音频流信息
videoStats
类型: RemoteVideoStats
远端视频流信息
isScreen
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
类型: interface
远端音频流统计信息,统计周期为 2s 。
本地用户订阅音频流成功后,SDK 会周期性地通知远端的音频流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。
audioLossRate
类型: number
音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
receivedKBitrate
类型: number
接收码率。统计周期内的音频接收码率,单位为 kbps 。
stallCount
类型: number | undefined
统计周期内的卡顿次数
stallDuration
类型: number | undefined
统计周期内的卡顿时长,单位为 ms 。
totalRtt
类型: number
全链路往返传输时延。单位 ms。
注意
对于 FireFox 浏览器,此值不准确。
statsInterval
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
rtt
类型: number
往返时延,单位:ms
jitterBufferDelay
类型: number
抖动延迟,单位:ms
numChannels
类型: number
声道数
receivedSampleRate
类型: number
接收侧采样率
concealedSamples
类型: number
音频丢包补偿(PLC) 样点总个数
concealmentEvent
类型: number
音频丢包补偿(PLC) 累计次数
类型: interface
远端视频流统计信息,统计周期为 2s 。
本地用户订阅视频流成功后,SDK 会周期性地通知远端的视频流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。
width
类型: number
宽度,单位:px
height
类型: number
高度,单位:px
videoLossRate
类型: number
视频丢包率。统计周期内的视频下行丢包率,取值范围为 [0, 1] 。
receivedKBitrate
类型: number
接收码率。统计周期内的视频接收码率,单位为 kbps 。
decoderOutputFrameRate
类型: number
解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。
stallCount
类型: number | undefined
统计周期内的卡顿次数
stallDuration
类型: number | undefined
统计周期内的卡顿时长,单位为 ms 。
totalRtt
类型: number
全链路往返传输时延。单位 ms。
注意
对于 FireFox 浏览器,此值不准确。
isScreen
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
statsInterval
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
rtt
类型: number
客户端到服务端数据传输的往返时延,单位:ms
codecType
类型: "H264" | "VP8"
视频编码格式。
"H264": H.264 格式。
"VP8": VP8 格式。
类型: interface
本地媒体流统计信息以及网络状况,统计周期为 2s 。
本地用户发布媒体流成功后,SDK 会周期性地通知本地用户发布的媒体流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。
audioStats
类型: LocalAudioStats
本地发送音频流的统计信息。
videoStats
类型: LocalVideoStats
本地发送视频流的统计信息。
isScreen
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
类型: interface
本地音频流统计信息以及网络状况,统计周期为 2s 。
本地用户发布音频流成功后,SDK 会周期性地通知本地用户发布的音频流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。
audioLossRate
类型: number
音频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。
sendKBitrate
类型: number
发送码率。统计周期内的音频接收码率,单位为 kbps 。
recordSampleRate
类型: number
采集采样率。统计周期内的音频采集采样率信息,单位为 Hz 。
statsInterval
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
rtt
类型: number
客户端到服务端数据传输的往返时延,单位:ms
numChannels
类型: number
声道数
类型: interface
本地视频流统计信息以及网络状况,统计周期为 2s 。
本地用户发布视频流成功后,SDK 会周期性地通知本地用户发布的视频流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。
sentKBitrate
类型: number
发送码率,单位:kbps。统计周期内的视频发送码率
sentFrameRate
类型: number
发送帧率。统计周期内的视频发送帧率,单位为 fps 。
encoderOutputFrameRate
类型: number
编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。
rendererOutputFrameRate
类型: number | undefined
本地渲染帧率。统计周期内的本地视频渲染帧率,单位为 fps 。
statsInterval
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
videoLossRate
类型: number
视频丢包率。统计周期内的视频上行丢包率,取值范围为 [0, 1] 。
rtt
类型: number
客户端到服务端数据传输的往返时延,单位:ms
encodedFrameWidth
类型: number
视频编码宽度,单位为 px。
encodedFrameHeight
类型: number
视频编码高度,单位为 px。
encodedFrameCount
类型: number
统计周期内发送的视频帧总数
codecType
类型: "H264" | "VP8"
视频编码格式。
"H264": H.264 格式。
"VP8": VP8 格式。
isScreen
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
用户订阅的 WTN 流统计信息以及网络状况,统计周期为 2s。
类型
Omit< RemoteStreamStats, 'userId' | 'isScreen' > & { publicStreamId: string; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| publicStreamId | string | WTN 流 ID。 |
| RemoteStreamStats | RemoteStreamStats | 远端媒体流统计信息 |
类型: interface
本地用户媒体流异常信息
exception
类型: string
本地媒体流异常信息。可取值参见 RTCExceptionCodeMap 中的异常信息列。
code
类型: number
本地媒体流异常代码。可取值,参见 RTCExceptionCodeMap 中的异常代码列。
isScreen
类型: boolean
本地媒体流是否为屏幕流:true-屏幕流,false-主流
类型: interface
远端用户媒体流异常信息
userId
类型: string
发生异常的远端用户 ID
exception
类型: string
远端媒体流异常信息。可取值,参见 RTCExceptionCodeMap 中的异常信息列。
code
类型: number
远端媒体流异常代码。可取值,参见 RTCExceptionCodeMap 中的异常代码列。
isScreen
类型: boolean
远端媒体流是否为屏幕流:true-屏幕流,false-主流
类型: interface
本地音频信息
streamIndex
类型: StreamIndex
流属性,标记该流为麦克风采集音频流或屏幕音频流。
audioPropertiesInfo
音频属性信息。
类型: enum
流属性
成员
| 属性 | 值 | 描述 |
|---|---|---|
| STREAM_INDEX_MAIN | 0 | 主流。包括:通过默认摄像头/麦克风采集到的视频/音频; |
| STREAM_INDEX_SCREEN | 1 | 屏幕流。共享的视频流,或来自声卡的本地播放音频流。 |
类型: interface
音频属性信息
linearVolume
类型: number
线性音量,与原始音量呈线性关系,数值越大,音量越大。取值范围是:[0,255]。
nonlinearVolume
类型: number
非线性音量。由原始音量的对数值转化而来,因此在中低音量时更灵敏,可以用作 Active Speaker(房间内最活跃用户)的识别。取值范围是:[-127,0],单位 dB。
类型: interface
远端音频信息
streamKey
类型: StreamKey
远端流信息
audioPropertiesInfo
远端音频属性信息
类型: interface
远端流信息
roomId
类型: string
房间 ID
userId
类型: string
用户 ID
streamIndex
类型: StreamIndex
流属性,标记该流为麦克风采集音频流或屏幕音频流。
类型: interface
收到带有 SEI 消息的视频帧时,收到此回调
remoteStreamKey
类型: RemoteStreamKey
包含 SEI 发送者的用户名,所在的房间名和媒体流
sei
类型: Uint8Array
收到的 SEI 消息内容
类型: interface
远端流信息
roomId
类型: string
房间 ID
userId
类型: string
用户 ID
streamIndex
类型: StreamIndex
流属性,包括主流、屏幕流。
类型: interface
包含 SEI 信息的流更新事件。
userId
类型: string
用户 ID。
isScreen
类型: boolean
是否为屏幕流。
type
包含 SEI 信息的流类型。
类型: enum
包含 SEI 信息的流类型。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| BLACK | 0 | 远端用户发布黑帧视频流。 语音通话场景下,远端用户调用 sendSEIMessage 发送 SEI 数据时,SDK 会自动发布一路黑帧视频流,并触发该回调。 |
| NORMAL | 1 | 远端黑帧视频流移除。该回调的触发时机包括:
|
类型: enum
音视频流订阅结果
成员
| 属性 | 值 | 描述 |
|---|---|---|
| SUBSCRIBE_SUCC | 0 | 更新订阅状态成功 |
| SUBSCRIBE_FAIL | 1 | 更新订阅状态失败 |
类型: enum
音视频流发布结果
成员
| 属性 | 值 | 描述 |
|---|---|---|
| PUBLISH_SUCC | 0 | 发布成功 |
| PUBLISH_FAIL | 1 | 发布失败 |
类型: interface
自动播放失败事件
userId
类型: string
自动播放失败的流所属的用户 ID。不带此参数时表示本地流播放失败。
kind
类型: "video" | "audio"
自动播放失败的媒体类型
例如,当同一用户的视频流和音频流自动播放都失败时,将触发两次 onAutoPlayFailed 回调,分别包含 audio 和 video 参数。
streamIndex
类型: StreamIndex
视频流属性。
mediaType
类型: MediaType.AUDIO | MediaType.VIDEO
远端媒体流的类型
playerId
类型: string | undefined
播放器 ID。空值为默认播放器。
position
类型: EarMonitorPosition | undefined
是否开启耳返音频。耳返的音频是否经过前处理。
类型: enum
是否开启耳返音频
成员
| 属性 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 不开启耳返 |
| AFTER_CAPTURE | 1 | 未经混音和前处理的本地音频 |
| AFTER_PROCESS | 2 | 经过前处理的本地音频,未经混音 |
类型: interface
音频混音文件播放状态改变事件
mixId
类型: number
混音 ID
state
类型: AudioMixingState
混音状态
error
类型: AudioMixingError
混音错误
类型: enum
音频混音文件播放状态。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| AUDIO_MIXING_STATE_PRELOADED | 0 | 混音已加载 |
| AUDIO_MIXING_STATE_PLAYING | 1 | 混音正在播放 |
| AUDIO_MIXING_STATE_PAUSED | 2 | 混音暂停 |
| AUDIO_MIXING_STATE_STOPPED | 3 | 混音停止 |
| AUDIO_MIXING_STATE_FAILED | 4 | 混音播放失败 |
| AUDIO_MIXING_STATE_FINISHED | 5 | 混音播放结束 |
| AUDIO_MIXING_STATE_PCM_ENABLED | 6 | 准备 PCM 混音 |
| AUDIO_MIXING_STATE_PCM_DISABLED | 7 | PCM 混音播放结束 |
类型: interface
SDK 成功连接云代理服务器事件。
interval
类型: number
SDK 开启云代理后,加入频道的耗时。
类型: interface
WTN 流发布结果
code
类型: number
WTN 流发布事件编号
message
类型: string
WTN 流发布事件详情
200: 发布或订阅成功1191: WTN 流的参数异常,请修改参数后重试1192: 服务端状态异常,将自动重试1193: 内部错误,不可恢复,请重试1195: 推流失败,将自动重试,用户不需要处理1196: 推流失败,10 s 后会重试,重试 3 次后停止重试类型: interface
WTN 流中包含的 SEI 信息。
publicStreamId
类型: string
WTN 流 ID
sei
类型: Uint8Array
收到的 SEI 消息内容
WTN 流首帧视频解码事件。
类型
Omit< onVideoFirstFrameDecodedEvent, 'userId' > & { publicStreamId: string; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| publicStreamId | string | WTN 流 ID。 |
| onVideoFirstFrameDecodedEvent | onVideoFirstFrameDecodedEvent | 视频首帧解码事件。 |
类型: interface
第一帧远端视频解码事件
userId
类型: string
发布视频用户的 userId
height
类型: number
高度
width
类型: number
宽度
类型: interface
WTN 流首帧解码/渲染事件。
publicStreamId
类型: string
WTN 流 ID。
类型: enum
网络质量
成员
| 属性 | 值 | 描述 |
|---|---|---|
| UNKNOWN | 0 | 网络质量未知 |
| EXCELLENT | 1 | 网络质量极好 |
| GOOD | 2 | 主观感觉和 Excellent 差不多,但码率可能略低 |
| POOR | 3 | 主观感受有瑕疵但不影响沟通 |
| BAD | 4 | 勉强能沟通但不顺畅。建议降低采样率、码率或通过 UI 提示用户是否切换为纯语音通话。 |
| VBAD | 5 | 网络质量非常差,基本不能沟通。建议通过 UI 给出弱网提示。 |
| DOWN | 6 | 网络连接断开,无法通话。 |
类型: interface
流切换信息。本地用户订阅的远端流触发回退策略时的流切换信息。
userId
类型: string
订阅的音视频流的发布者的用户 ID
isScreen
类型: boolean
是否是屏幕共享流
beforeVideoIndex
类型: number
原分辨率视频流的下标
afterVideoIndex
类型: number
现分辨率视频流的下标
beforeEnable
类型: boolean
原媒体流是否是视频流
afterEnable
类型: boolean
现媒体流是否是视频流
reason
触发流回退或恢复的原因
类型: enum
触发流回退或恢复的原因
成员
| 属性 | 值 | 描述 |
|---|---|---|
| Unknown | -1 | 其他原因,非带宽原因引起的回退或恢复。默认值 |
| SubscribeFallbackByBandwidth | 0 | 由带宽不足导致的流回退。 |
| SubscribeRecoverByBandwidth | 2 | 由带宽恢复导致的流恢复。 |
类型: interface
转推直播相关事件。
event
转推直播事件类型。
error
类型: StreamMixingEventErrorCode
转推直播事件错误码。
message
类型: 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 | 停止推流失败。 |
类型: interface
视频流发布封禁/解禁事件
uid
类型: string
被禁用/解禁的视频流用户 ID
banned
类型: boolean
视频流发布状态
true:视频流发布被禁止
false: 视频流发布被解禁
类型: interface
音频流发布封禁/解禁事件
uid
类型: string
被禁用/解禁的音频流用户 ID
banned
类型: boolean
音频流发布状态
true:音频流发布被禁止
false: 音频流发布被解禁
类型: interface
字幕任务状态。
event
字幕任务状态类型。
errorCode
类型: ErrorCode | undefined
字幕任务错误码。
SUBTITLE_ERR_POSTPROCESS: 云端媒体处理内部出现错误。SUBTITLE_ERR_CONNECTION_ERROR: 第三方服务连接失败。SUBTITLE_ERR_PROCESS_ERROR: 云端媒体处理超时未响应。SUBTITLE_ERR_UNKNOWN: 客户端无法识别云端媒体处理发送的错误码。errorMessage
类型: string | undefined
字幕相关信息。
类型: enum
字幕任务状态类型。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| STARTED | 0 | 字幕已开启。 |
| STOPPED | 1 | 字幕已关闭。 |
| ERROR | 2 | 字幕任务出现错误。 |
| UPDATED | 3 | 字幕翻译配置已更新。 |
类型: interface
字幕具体内容。
userId
类型: string
说话者的用户ID。
text
类型: string
语音识别或翻译后的文本, 采用 UTF-8 编码。
definite
类型: boolean
语音识别出的文本是否为一段完整的一句话。 True 代表是, False 代表不是。
sequence
类型: number
语音识别或翻译后形成的文本的序列号。同一发言人的完整发言和不完整发言会按递增顺序单独分别编号。
language
类型: string
字幕语种代号。
mode
类型: SUBTITLE_MODE
字幕模式。
类型: enum
字幕模式。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| ASR_ONLY | 0 | 识别模式。在此模式下,房间内用户语音会被转为文字。 |
| ASR_AND_TRANSLATION | 1 | 翻译模式。在此模式下,房间内用户语音会先被转为文字,再被翻译为目标语言。 |
类型: interface
跨房间转发媒体流状态信息。
roomId
类型: string
跨房间转发媒体流的目标房间 ID。
state
跨房间转发媒体流状态。
error
跨房间转发媒体流错误码。
类型: enum
跨房间转发媒体流状态。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| FORWARD_STREAM_STATE_SUCCESS | 0 | 成功。 |
| FORWARD_STREAM_STATE_FAILURE | 1 | 失败。 |
类型: interface
播放器可见性状态及其相关信息(例如用户ID、媒体类型、流索引等)。
descriptor
类型: { userId?: string | undefined; mediaType: MediaType.VIDEO; streamIndex?: StreamIndex | undefined; streamId?: string | undefined; playerId?: string | undefined; }
播放器描述信息,包含用户ID、媒体类型、流索引等标识信息。
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string | undefined | 用户ID,标识流的发布者。 |
| mediaType | MediaType.VIDEO | 媒体类型,当前仅支持视频类型。 |
| streamIndex | StreamIndex | undefined | 流索引,用于区分主流和屏幕共享流。 |
| streamId | string | undefined | 流ID,唯一标识一个媒体流。 |
| playerId | string | undefined | 播放器ID,唯一标识一个播放器实例。 |
status
类型: VisibilityStatus[]
播放器可见性状态数组,包含播放器当前的所有可见性状态。
类型: enum
播放器可见状态和不可见原因。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| PLAYER_VISIBLE | 'visible' | 播放器可见。 |
| PLAYER_INVISIBLE_BY_UNMOUNT | 'unmount' | 播放器未被挂载到 DOM,导致不可见。 |
| PLAYER_INVISIBLE_BY_SIZE | 'size' | 播放器因尺寸问题导致不可见(比如尺寸过小)。 |
| PLAYER_INVISIBLE_BY_STYLE | 'style' | 播放器因样式问题不可见。例如:display: none、opacity: 0 等。 |
| PLAYER_INVISIBLE_BY_POSITION | 'position' | 播放器因位置问题不可见(比如位置超出了可视区域)。 |
| PLAYER_INVISIBLE_BY_COVERED | 'covered' | 播放器因被覆盖而不可见。 |
类型: interface
房间参数配置。
isAutoPublish
类型: boolean | undefined
是否自动发布音视频流,默认为自动发布。
取消自动发布后,通过调用 publishStream 进行音视频流发布。
isAutoSubscribeAudio
类型: boolean | undefined
是否自动订阅音频流,默认为自动订阅。
不包含屏幕流。
进房后,你可以调用 subscribeStream、unsubscribeStream 修改订阅设置。
isAutoSubscribeVideo
类型: boolean | undefined
是否自动订阅视频流,默认为自动订阅。
不包含屏幕流。
进房后,你可以调用 subscribeStream、unsubscribeStream 修改订阅设置。
remoteVideoConfig
类型: RemoteVideoConfig | undefined
远端视频流参数。
roomMode
类型: RoomMode | undefined
房间的创建模式。支持创建同时支持使用 RTC 和 RTS 功能的房间(默认),或创建仅支持 RTS 功能的房间。
类型: interface
远端视频流参数
width
类型: number
视频宽度,单位:px
height
类型: number
视频宽度,单位:px
类型: enum
房间模式。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| ROOM_MODE_RTC | 0 | 默认模式。房间内可同时使用 RTC 和 RTS 功能。 |
| ROOM_MODE_RTS_ONLY | 1 | 房间内仅可使用 RTS 功能。该模式下,不可调用 RTC 相关的接口。 如果你只需要 RTS 功能,推荐通过集成 RTS SDK 创建应用。目前已支持 Android、iOS 以及 Web 端。 |
类型: interface
屏幕共享流设置
enableAudio
类型: boolean | undefined
在共享屏幕时是否显示共享音频选项:
• Windows 支持在共享整个屏幕时共享系统音频;在共享 Chrome 标签页时共享 Tab 标签页面音频。
• macOS 仅支持在共享 Chrome 标签页时共享 Tab 标签页面音频。
displaySurface
类型: "monitor" | "browser" | "window" | undefined
默认选中的共享内容类型,可选择:屏幕、标签页、应用窗口。
仅支持 Chrome 107 及以上版本、Edge 107 及以上版本。
详见 displaySurface。
systemAudio
类型: "include" | "exclude" | undefined
是否允许共享系统音频:include:(默认)允许。exclude:禁止。
Windows 设备上的 Chrome 105 及以上版本、Edge 105 及以上版本。
Electron 框架下,只支持在 Windows 系统共享系统音频。
详见 systemAudio。
surfaceSwitching
类型: "include" | "exclude" | undefined
是否允许用户动态切换共享的标签页:include:(默认)允许。exclude:禁止。
仅支持 Chrome 107 及以上版本、Edge 107 及以上版本。
详见 surfaceSwitching。
selfBrowserSurface
类型: "include" | "exclude" | undefined
是否允许用户共享当前标签页:include:(默认)允许。exclude:禁止。
仅支持 Chrome 107 及以上版本、Edge 107 及以上版本。
详见 selfBrowserSurface。
sourceId
类型: string | undefined
在 Electron 框架下指定屏幕共享源 ID。
你可以通过 getElectronScreenSources 获取。
不传本参数时,SDK 将在开始共享前弹出默认选择框,供用户选择屏幕共享源。
类型: interface
播放器信息和渲染模式
renderDom
类型: string | HTMLElement | undefined
渲染窗口,为视频渲染的父元素。视频的 htmlVideoElement 将挂在该父元素下进行渲染,且视频渲染的宽高以 renderDom 为准,根据渲染模式确定是否完全填充整个父元素的区域。
renderMode
类型: VideoRenderMode | undefined
渲染模式。
userId
类型: string
用户 ID,支持以下字符集范围
rotation
类型: number | undefined
视频帧顺时针的旋转角度。可选值为 0,90,180,270。默认值是 0,即不做旋转处理。
该设置仅对远端视频有效,调用 setLocalVideoPlayer 设置本参数不生效。
playerId
类型: string | undefined
播放器 ID。不指定时视为默认播放器。
该设置对 WTN 流无效。
类型: enum
渲染模式
成员
| 属性 | 值 | 描述 |
|---|---|---|
| RENDER_MODE_HIDDEN | 0 | (主流默认值)视窗填满优先。 视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。 |
| RENDER_MODE_FIT | 1 | (屏幕流默认值)视频帧内容全部显示优先。 视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上会出现未被填满的透明区域。 |
| RENDER_MODE_FILL | 2 | 视窗填满并显示视频全部内容。 视频帧非等比缩放,拉伸至填满视窗区域。 |
类型: enum
是否开启视频流渲染镜像。
因浏览器限制,不支持编码传输镜像。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| MIRROR_TYPE_NONE | 0 | 无镜像效果 |
| MIRROR_TYPE_RENDER | 1 | 开启镜像效果 |
类型: interface
视频编码参数。
width
类型: ConstrainULong
视频宽度,单位为像素。默认值为 640 px。
支持传入 number 或一个整形约束对象,参看 ConstrainULong。
height
类型: ConstrainULong
视频高度,单位为像素。默认值为 480 px。
支持传入 number 或一个整形约束对象,参看 ConstrainULong。
frameRate
类型: ConstrainDouble
视频帧率,单位为 FPS。默认值为 15 FPS。
支持传入 number 或一个浮点形约束对象,参看 ConstrainDouble。
maxKbps
类型: number
最大编码码率,RTC SDK 内部采集和自定义采集均需设定 > 0 的数值,单位为 Kbps。默认值为 600 Kbps。
contentHint
类型: "text" | "motion" | "detail" | undefined
视频内容类型。'text':清晰度优先,适用于视频内容只包含大量文本的情况。'motion':流畅度优先,适用于视频内容为摄像头采集、电影、视频、游戏的情况。'detail':清晰度优先,适用于视频内容包含图片、文本混排的情况。
注意
Firefox 浏览器不支持设置此参数,参看 contentHint 浏览器兼容信息。
preferCodecName
类型: VideoCodecType | undefined
设置编码优先级。默认为 'auto',无偏好,SDK 会根据当前视频流的分辨率、设备性能自动匹配适合的编解码格式。
类型: enum
编码格式。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| AUTO | 'auto' | 不指定编解码格式。SDK 会根据当前视频流的分辨率、设备性能自动匹配适合的编解码格式。 |
| H264 | 'h264' | H.264 |
| VP8 | 'vp8' | VP8 |
| H265 | 'h265' | H.265 该格式对浏览器和分辨率有限制,具体查看 Web SDK 浏览器兼容性和已知问题。 |
类型: interface
屏幕共享的视频编码参数。
width
类型: ConstrainULong
视频宽度,单位为像素。默认值为 1920 px。
支持传入 number 或一个整形约束对象,参看 ConstrainULong。
height
类型: ConstrainULong
视频高度,单位为像素。默认值为 1080 px。
支持传入 number 或一个整形约束对象,参看 ConstrainULong。
frameRate
类型: ConstrainDouble
视频帧率,默认值为 15 FPS。
支持传入 number 或一个浮点形约束对象,参看 ConstrainDouble。
maxKbps
类型: number
最大编码码率,RTC SDK 内部采集和自定义采集均需设定 > 0 的数值,单位为 Kbps。默认值为 3000 Kbps。
contentHint
类型: "text" | "motion" | "detail" | undefined
视频内容类型。'text':清晰度优先,适用于视频内容只包含大量文本的情况。'motion':流畅度优先,适用于视频内容为摄像头采集、电影、视频、游戏的情况。'detail':清晰度优先,适用于视频内容包含图片、文本混排的情况。
注意
Firefox 浏览器不支持设置此参数,参看 contentHint 浏览器兼容信息。
类型: enum
订阅大小流偏好
成员
| 属性 | 值 | 描述 |
|---|---|---|
| VIDEO_STREAM_HIGH | 'high' | 大流 |
| VIDEO_STREAM_MID | 'mid' | 中流 |
| VIDEO_STREAM_LOW | 'low' | 小流 |
类型: enum
发布大小流模式
成员
| 属性 | 值 | 描述 |
|---|---|---|
| VIDEO_ONLY_ONE | 0 | 单流模式。始终只有 1 路分辨率的流。 |
| VIDEO_ON_DEMAND | 1 | 按需订阅模式。发送端会根据订阅端的状态,按需发布。无订阅偏好设置默认发送 2 路。 |
| VIDEO_ALWAYS_SIMULCAST | 2 | 多流模式。发送端始终按照设置的参数发布所有大小流。默认发送 2 路。 |
类型: interface
音频信息提示的相关配置
interval
类型: number | undefined
信息提示间隔,单位:ms,默认为 100ms
≤0: 关闭信息提示(0,100): 不合法的interval 值,SDK 自动设置为 100ms≥100: 开启信息提示,并将信息提示间隔设置为此值enableInBackground
类型: boolean | undefined
是否在页面隐藏时保持开启获取音量回调,默认保持开启。
localMainReportMode
类型: LocalMainReportMode | undefined
本地主流音量回调模式。
audioReportMode
类型: AudioReportMode | undefined
本地主流音量回调的数据范围,控制回调中是否包含混音。
类型: enum
本地主流音量回调模式。
该功能影响 onActiveSpeaker 回调。例如,进入房间但未发布主流音频,LocalMainReportMode 为 RESET,则该回调永远不会包含本端用户主流音频。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| NORMAL | 0 | (默认值)本地主流存在时,始终开启音量回调。 |
| DISCONNECT | 1 | 未发布时,不回调对应音量。发布时回调真实音量。 |
| RESET | 2 | 未发布时,始终回调 0。发布时正常回调真实音量。 |
类型: enum
本地主流音量回调的数据范围,控制回调中是否包含混音。
该功能影响 onActiveSpeaker 回调。例如,AudioReportMode 为 AUDIOMIXING,即使麦克风音量为 0,该回调中也可能回调本端用户主流音频。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| MICROPHONE | 0 | (默认值)麦克风音量,即混音前的音量。 |
| AUDIOMIXING | 1 | 混音后的音量。 |
类型: interface
转码推流配置参数。
url
类型: string
推流 CDN 地址。仅支持 RTMP 协议,Url 必须满足正则 /^rtmps?:\/\//。
本参数不支持过程中更新。
audio
类型: Partial<LiveTranscodeAudioConfig> | undefined
音频转码配置参数。
本参数不支持过程中更新。
video
类型: Partial<LiveTranscodeVideoConfig> | undefined
视频转码配置参数。
layout
类型: Partial<LiveTranscodeLayoutConfig> | undefined
用户布局信息。
类型: interface
音频转码配置参数。值不合法或未设置时,自动使用默认值。
codec
类型: "AAC" | undefined
音频编码格式,选填,默认为 AAC。
kBitRate
类型: number
音频码率,单位 Kbps。可取范围 [32, 192],默认值为 64 Kbps。
sampleRate
类型: number
音频采样率,单位 Hz。可取 32000 Hz、44100 Hz、48000 Hz,默认值为 48000 Hz。
channels
类型: number
音频声道数。可取 1(单声道)、2(双声道),默认值为 2。
AACProfile
类型: AAC_PROFILE
AAC 编码规格。默认值为 LC。
类型: enum
AAC 编码规格。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| LC | 'LC' | AAC-LC 规格,默认值。 |
| HEv1 | 'HEv1' | HE-AAC v1 规格。 |
| HEv2 | 'HEv2' | HE-AAC v2 规格。 |
类型: interface
视频转码配置参数。值不合法或未设置时,自动使用默认值。
width
类型: number
合流视频宽度。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 640 px。
设置值为非偶数时,自动向上取偶数。
height
类型: number
合流视频高度。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 360 px。
设置值为非偶数时,自动向上取偶数。
codec
视频编码格式。默认值为 H264。
本参数不支持过程中更新。
fps
类型: number
合流视频帧率。单位为 FPS,取值范围为 [1,60],默认值为 15 FPS。
gop
类型: number
视频 I 帧时间间隔。单位为秒,取值范围为 [1, 5],默认值为 2 秒。
本参数不支持过程中更新。
kBitRate
类型: number
合流视频码率。单位为 Kbps,取值范围为 [1,10000],默认值为自适应模式。
类型: enum
视频编码格式。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| H264 | 'H264' | H.264 格式,默认值。 |
| H265 | 'H265' | H.265 格式。 |
类型: interface
视频流合流整体布局信息。
开启转推直播功能后,你可以设置参与合流的每路视频流的预设布局信息和合流背景信息等。
regions
类型: LiveTranscodeLayoutRegion[]
用户布局信息列表。值不合法或未设置时,自动使用默认值。
appData
类型: string
透传的 App 数据,长度不超过 4 KB。
backgroundColor
类型: string
合流背景颜色,用十六进制颜色码(HEX)表示。例如,#FFFFFF 表示纯白,#000000 表示纯黑。默认值为 #000000。
值不合法或未设置时,自动使用默认值。
类型: interface
单个视频流在合流中的布局信息。
alpha
类型: number | undefined
透明度,可选范围为 [0.0, 1.0],0.0 为全透明。默认值为 1.0。
userId
类型: string
视频流发布用户的用户 ID
x
类型: number | undefined
视频流对应区域左上角的横坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。默认值为 0.0。
y
类型: number | undefined
视频流对应区域左上角的纵坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。默认值为 0.0。
zorder
类型: number | undefined
用户视频布局在画布中的层级。取值范围为 [0 - 100],0 为底层,值越大越上层。默认值为 0。
w
类型: number | undefined
视频流对应区域宽度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。默认值为 1.0。
h
类型: number | undefined
视频流对应区域高度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。默认值为 1.0。
renderMode
类型: number | undefined
图片或视频流的缩放模式,默认值为 1。可选取值如下:
• 1: 视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
• 2: 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。
• 3: 视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。
contentControl
类型: number | undefined
合流内容控制。默认值为 0,可选取值如下:
• 0: 输出的混流包含音视频。
• 1: 只包含音频。
• 2: 只包含视频。
isScreenStream
类型: 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 提供的音频采集模块 |
内部采集的媒体属性,详见浏览器文档
类型
Omit<MediaTrackConstraints, 'deviceId'>
类型: enum
登录状态
成员
| 属性 | 值 | 描述 |
|---|---|---|
| OFFLINE | 0 | 离线。无法收发点对点消息。 |
| ONLINE | 1 | 在线 |
| UNREACHABLE | 2 | 未知。无法收发点对点消息。 |
类型: interface
云代理服务器信息
logProxy
类型: string
埋点日志上报的代理地址
accessProxy
类型: string | string[]
统一接入的代理地址
configProxy
类型: string
RTC 配置下发的代理地址
类型: interface
WTN 流配置信息
video
类型: { width?: number | undefined; height?: number | undefined; fps?: number | undefined; kBitRate: number; } | undefined
视频参数
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| width | number | undefined | 宽度,单位:px。 仅支持设为偶数,如果设为奇数,将导致 WTN 流发布失败。 |
| height | number | undefined | 高度,单位:px。 仅支持设为偶数,如果设为奇数,云端媒体处理会直接拒绝,导致 WTN 流失败。 |
| fps | number | undefined | 帧率,单位:fps |
| kBitRate | number | 码率,单位:kbps |
layout
类型: { interpolationMode?: PublicInterpolationMode | undefined; backgroundColor?: string | undefined; backgroundImage?: string | undefined; regions?: PublicStreamLayoutRegion[] | undefined; } | undefined
WTN 流的布局模式
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| interpolationMode | PublicInterpolationMode | undefined | 补帧模式 |
| backgroundColor | string | undefined | 背景颜色,用 Hex 色值表示。 |
| backgroundImage | string | undefined | 背景图片的 URL。长度最大为 1024 byte。可以传入的图片的格式包括:JPG, JPEG, PNG。 |
| regions | PublicStreamLayoutRegion[] | undefined | 多路媒体流布局设置。 |
类型: enum
补帧模式
成员
| 属性 | 值 | 描述 |
|---|---|---|
| PREV_FRAME | 0 | 补最后一帧。 |
| OTHER_FRAME | 1 | 补背景图片或者黑帧。 |
多路媒体流中一路流的布局设置。
本结构体包含了 LiveTranscodeLayoutRegion 中 isLocalUser 和 contentControl 除外的所有参数及以下参数。
类型
Omit<LiveTranscodeLayoutRegion, 'isLocalUser' | 'contentControl'> & { roomId: string; mediaType?: PublicStreamType; sourceCrop?: { x: number; y: number; w: number; h: number; }; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| roomId | string | 媒体流发布用户的房间 ID |
| mediaType | PublicStreamType | undefined | WTN 流输出内容类型 |
| sourceCrop | { x: number; y: number; w: number; h: number; } | undefined | WTN 流视频裁剪配置 |
| 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
WTN 流是否包含音视频。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| AUDIO_AND_VIDEO | 0 | 包含音视频。 |
| AUDIO_ONLY | 1 | 仅包含音频。 |
| VIDEO_ONLY | 2 | 仅包含视频。 |
类型: enum
订阅端音视频流回退选项。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| DISABLE | 0 | 不开启回退功能。默认设置。 |
| VIDEO_STREAM_LOW | 1 | 下行网络不佳时,对视频流做降级处理。 该设置仅对发布端开启 Simulcast 功能时生效。参见使用 Simulcast 功能。 |
| AUDIO_ONLY | 2 | 下行网络不佳时,取消接收视频,仅接收音频。 当发布端开启发送多路流功能时,设置此选项不利于提升用户体验,因此不建议设置此选项。 |
类型: enum
远端用户优先级
成员
| 属性 | 值 | 描述 |
|---|---|---|
| LOW | 0 | 用户优先级为低(默认值) |
| MEDIUM | 100 | 用户优先级为正常 |
| HIGH | 200 | 用户优先级为高 |
类型: enum
音质档位
调用 setAudioProfile 设置的音质档位
成员
| 属性 | 值 | 描述 |
|---|---|---|
| default | 0 | 默认音质 服务器下发的音质配置 |
| 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
字幕配置信息。
targetLanguage
类型: string | string[] | undefined
目标语言语种代号,参看语言支持信息。
mode
类型: SUBTITLE_MODE
字幕模式。
类型: interface
字幕配置信息。用于更新字幕翻译源语种。
sourceLanguage
类型: string
源语言的语种代号。支持:
类型: interface
跨房间转发媒体流信息。
roomId
类型: string
跨房间转发媒体流的目标房间 ID。
token
类型: string
使用目标房间 roomId 和 userId 生成的 Token。
测试时可使用控制台生成的临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。
类型: enum
音频选路优先级设置。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| DEFAULT | 0 | 正常,参加音频选路。 |
| HIGH | 1 | 高优先级,跳过音频选路 |
类型: interface
用户订阅的远端视频流统计信息以及网络状况,统计周期为 1s。
mainVideoStats
类型: RemoteVideoStats
摄像头采集视频流
screenVideoStats
类型: RemoteVideoStats
屏幕共享流
类型: interface
用户订阅的远端音频流统计信息以及网络状况,统计周期为 1s。
mainAudioStats
类型: RemoteAudioStats
麦克风音频流信息
screenAudioStats
类型: RemoteAudioStats
屏幕音频流信息
类型: interface
本地媒体流统计信息以及网络状况,统计周期为 1s 。
mainVideoStats
类型: LocalVideoStats
摄像头采集视频流
screenVideoStats
类型: LocalVideoStats
屏幕共享流
类型: interface
本地媒体流统计信息以及网络状况,统计周期为 2s 。
本地用户发布媒体流成功后,SDK 会周期性地通知本地用户发布的媒体流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。
mainAudioStats
类型: LocalAudioStats
麦克风音频流信息
screenAudioStats
类型: LocalAudioStats
屏幕音频流信息
类型: interface
引擎级别配置项
autoPlayPolicy
类型: RTCAutoPlayPolicy | undefined
自动播放策略
类型: enum
自动播放策略。参考自动播放策略,获取更多相关信息。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| AUTO_PLAY | 0 | 默认值,自动播放音频和视频 |
| VIDEO_ONLY | 1 | 自动播放视频,不自动播放音频 |
| PLAY_MANUALLY | 2 | 不自动播放,引导用户通过交互,手动播放 |
Electron 框架下,需要获取的共享源类型。
• 'screen': 屏幕。
• 'window': 应用和窗口。
类型
'screen' | 'window'
类型: interface
Electron 框架下屏幕共享源对象。
id
类型: string
唯一标识。
name
类型: string
共享源名称。
thumbnail
缩略图。
类型: interface
在 Electron 框架下屏幕共享源的缩略图
toDataURL
base 64 编码 Data URL 字符串。参见 nativeImage。
类型
() => string
返回值
类型: string
类型: interface
WTN 流发布结果。
streamId
类型: string
WTN 流 ID。
oldState
类型: WTNPushState
WTN 流发布任务原状态。
newState
类型: WTNPushState
WTN 流发布任务新状态。
reason
WTN 流发布任务状态变更原因。
elapse
类型: number
WTN 流发布任务状态变更耗时。
类型: enum
客户端发布 WTN 流任务状态
成员
| 属性 | 值 | 描述 |
|---|---|---|
| INIT | 0 | 初始,调用 startPushWtn 后,状态由 init 变为 start。 |
| START | 1 | 开始。 |
| SUCCESS | 2 | 成功。 |
| STOP | 3 | 停止。 |
| FAIL | 4 | 推流失败。 |
类型: enum
客户端发布 WTN 流任务状态变化原因
成员
| 属性 | 值 | 描述 |
|---|---|---|
| PUSH_SUCCESS | 0 | 成功。 |
| START_PUSH | 1 | 主动调用 startPushWTN。 |
| STOP_PUSH | 2 | 主动调用 stopPushWTN。 |
| IN_RETRY | 3 | 网络错误重试 |
| RETRY_FAIL | 4 | 重试失败,重试三次后报此错误。 |
| NO_PUSH_PERMISSION | 5 | token 无发布权限 |
| STREAM_PUSH_BY_OTHER | 6 | 相同 stream_id 流被挤占 |
类型: interface
播放 WTN 流状态。
streamId
类型: string
WTN 流 ID。
oldState
类型: WTNPlayState
播放 WTN 流原状态。
newState
类型: WTNPlayState
播放 WTN 流新状态。
reason
状态变更原因。
elapse
类型: number
状态变更耗时。
类型: enum
WTN 流播放事件
成员
| 属性 | 值 | 描述 |
|---|---|---|
| INIT | 0 | 初始,调用 startPlayWtn 后,状态由 INIT 变为 START。 |
| START | 1 | 开始。 |
| SUCCESS | 2 | 成功。 |
| STOP | 3 | 停止。 |
| FAIL | 4 | 推流失败。 |
类型: enum
播放 WTN 流状态变化原因
成员
| 属性 | 值 | 描述 |
|---|---|---|
| PLAY_SUCCESS | 0 | 成功。 |
| START_PLAY | 1 | 主动调用 startPlayWtn。 |
| STOP_PLAY | 2 | 主动调用 stopPlayWtn。 |
| REMOTE_STOP | 3 | 发布端主动停止。 |
| REMOTE_FAILURE | 4 | 发布端主动停止。 |
| STREAM_BANNED | 5 | 流被封禁。 |
| NO_PLAY_PERMISSION | 6 | token 无订阅权限。 |
| STREAM_NOT_EXIST | 7 | 远端流不存在。 |
| IN_RETRY | 8 | 网络错误重试 |
| RETRY_FAIL | 9 | 重试失败,重试三次后报此错误。 |
| INTERNAL | 10 | 内部原因(目前包含服务端三个上限错误) |
| OVER_CLIENT_SUBSCRIBE_STREAM_LIMIT | 1310 | 超出单端订阅上限,一个引擎实例最多拉5路流 |
| OVER_STREAM_SUBSCRIBE_USER_LIMIT | 1311 | 超出单流订阅人数上限,当前未配置限制 |
| OVER_STREAM_SUBSCRIBE_REQUES_TLIMIT | 1312 | 超出单流订阅请求 QPS 上限,当前未配置限制 |
类型: interface
远端 WTN 流音频状态改变。
streamId
类型: string
WTN 流 ID。
state
WTN 流音频状态改变。
reason
类型: WTNRemoteAudioStateChangeReason
远端 WTN 流音频状态变化原因
类型: enum
远端 WTN 流音频状态
成员
| 属性 | 值 | 描述 |
|---|---|---|
| STOPED | 0 | 初始状态。在 ReasonMute 和 ReasonRemotestop 情况下,报告该状态。 |
| STARTING | 1 | 本地用户已接收远端视频首包 |
| DECODING | 2 | 远端视频流正在解码,正常播放 |
| FROZEN | 3 | 远端视频流卡顿 |
| FAILED | 4 | 拉流发生error,reason=internal,不对外 |
类型: enum
远端 WTN 流音频状态变化原因
成员
| 属性 | 值 | 描述 |
|---|---|---|
| INTERNAL | 0 | 内部原因。 |
| NETWORK_CONGESTION | 1 | 网络阻塞。 |
| NETWORK_RECOVERY | 2 | 网络恢复正常。 |
| UNMUTE | 3 | 本地订阅远端流。 |
| MUTE | 4 | 本地取消订阅远端流。 |
| REMOTE_START | 5 | 远端流发布。 |
| REMOTE_STOP | 6 | 远端流停止发布。 |
类型: interface
WTN 流视频状态改变。
streamId
类型: string
WTN 流 ID。
state
WTN 流视频状态。
reason
类型: WTNRemoteVideoStateChangeReason
WTN 流视频状态改变原因。
类型: enum
远端 WTN 流视频状态
成员
| 属性 | 值 | 描述 |
|---|---|---|
| STOPED | 0 | 初始状态。在 ReasonMute 和 ReasonRemotestop 情况下,报告该状态。 |
| STARTING | 1 | 本地用户已接收远端视频首包 |
| DECODING | 2 | 远端视频流正在解码,正常播放 |
| FROZEN | 3 | 远端视频流卡顿 |
| FAILED | 4 | 拉流发生error,reason=internal,不对外 |
类型: enum
远端 WTN 流视频状态变化原因
成员
| 属性 | 值 | 描述 |
|---|---|---|
| INTERNAL | 0 | 内部原因。 |
| NETWORK_CONGESTION | 1 | 网络阻塞。 |
| NETWORK_RECOVERY | 2 | 网络恢复正常。 |
| UNMUTE | 3 | 本地订阅远端流。 |
| MUTE | 4 | 本地取消订阅远端流。 |
| REMOTE_START | 5 | 远端流发布。 |
| REMOTE_STOP | 6 | 远端流停止发布。 |
类型: interface
WTN 流的视频统计信息。
streamId
类型: string
WTN 流 ID。
videoStats
类型: RemoteVideoStats
WTN 流的视频统计信息。
类型: interface
WTN 流的音频统计信息。
streamId
类型: string
WTN 流 ID。
audioStats
类型: RemoteAudioStats
WTN 流的音频统计信息。
类型: interface
WTN 流视频首帧事件。
streamId
类型: string
WTN 流 ID。
类型: interface
WTN 流包含的 SEI 消息。
streamId
类型: string
WTN 流 ID。
sei
类型: Uint8Array
SEI。
类型: interface
本地 WTN 媒体流异常事件。
exception
类型: string
本地 WTN 媒体流异常信息。可取值,参见 RTCExceptionCodeMap 中的异常信息列。
code
类型: number
本地 WTN 媒体流异常代码。可取值,参见 RTCExceptionCodeMap 中的异常代码列。
streamId
类型: string
本地 WTN 媒体流 ID。
类型: interface
远端 WTN 媒体流异常事件。
exception
类型: string
远端 WTN 媒体流异常信息。可取值,参见 RTCExceptionCodeMap 中的异常信息列。
code
类型: number
远端 WTN 媒体流异常代码。可取值,参见 RTCExceptionCodeMap 中的异常代码列。
streamId
类型: string
远端 WTN 媒体流 ID。
| 异常信息 | 异常代码 | 说明 |
|---|---|---|
| FRAMERATE_INPUT_TOO_LOW | 1001 | 采集视频帧率过低 |
| FRAMERATE_SENT_TOO_LOW | 1002 | 发送视频帧率过低 |
| SEND_VIDEO_BITRATE_TOO_LOW | 1003 | 发送视频码率过低 |
| RECV_VIDEO_DECODE_FAILED | 1005 | 接收视频码率过低 |
| AUDIO_INPUT_LEVEL_TOO_LOW | 2001 | 输入(采集)音量过低 |
| AUDIO_OUTPUT_LEVEL_TOO_LOW | 2002 | 输出(播放)音频过低 |
| SEND_AUDIO_BITRATE_TOO_LOW | 2003 | 发送音频码率过低 |
| FRAMERATE_INPUT_TOO_LOW_RECOVER | 3001 | 采集视频帧率过低恢复 |
| FRAMERATE_SENT_TOO_LOW_RECOVER | 3002 | 发送视频帧率过低恢复 |
| SEND_VIDEO_BITRATE_TOO_LOW_RECOVER | 3003 | 发送视频码率过低恢复 |
| RECV_VIDEO_DECODE_FAILED_RECOVER | 3005 | 接收视频码率过低恢复 |
| AUDIO_INPUT_LEVEL_TOO_LOW_RECOVER | 4001 | 输入(采集)音量过低恢复 |
| AUDIO_OUTPUT_LEVEL_TOO_LOW_RECOVER | 4002 | 输出(播放)音频过低恢复 |
| SEND_AUDIO_BITRATE_TOO_LOW_RECOVER | 4003 | 发送音频码率过低恢复 |