You need to enable JavaScript to run this app.
文档中心
实时音视频

实时音视频

复制全文
下载 pdf
Web 4.68
数据类型
复制全文
下载 pdf
数据类型

MixOption

类型: interface

混音配置

playCount

类型: number

混音播放次数

  • play_count <= 0: 无限循环
  • play_count == 1: 播放一次(默认)
  • play_count > 1: 播放 play_count 次

type

类型: AudioMixingType | undefined

混音播放类型

AudioMixingType

类型: enum

混音播放类型

  • 成员

    属性描述
    PLAYOUT0仅本地播放
    PUBLISH1仅发送到远端
    PLAYOUT_AND_PUBLISH2在本地播放并发送到远端

AudioFrameData

类型: interface

音频帧数据结构体

channels

类型: Float32Array[]

音频帧 PCM 数据

channelCount

类型: number

声道数

sampleRate

类型: number

采样率,单位为 Hz。

PlayerEvent

类型: 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。空值为默认播放器。

onUserJoinedEvent

类型: interface

远端用户进房事件

userInfo

类型: UserInfo

进房用户的 userId

publishState

类型: InitPublishState

用户的媒体流发布状态

UserInfo

类型: interface

用户信息。

userId

类型: string

用户 ID,长度在 128 字节以内的非空字符串。

extraInfo

类型: string | undefined

用户传递的额外信息,最大长度为 200 字节。会在 onUserJoined 中回调给远端用户。

  • 注意

    支持以下字符集范围:

    • 26 个大写字母: A ~ Z
    • 26 个小写字母: a ~ z
    • 10 个数字: 0 ~ 9
    • 特殊字符: 下划线 "_",at 符 "@",减号 "-"

InitPublishState

类型: interface

初始发布状态

audio

类型: boolean

麦克风音频流

video

类型: boolean

摄像头流

screenAudio

类型: boolean

设备音频

screenVideo

类型: boolean

屏幕视频流

onUserLeaveEvent

类型: interface

远端用户退房事件

userInfo

类型: UserInfo

用户信息

reason

类型: UserOfflineReason

远端用户离开房间的原因

UserOfflineReason

类型: enum

远端用户离开房间的原因

  • 成员

    属性描述
    QUIT0远端用户调用 leaveRoom 主动退出房间。
    DROPPED1远端用户因 Token 过期或网络原因等掉线。
    SWITCH_TO_INVISIBLE2远端用户调用 setUserVisibility 切换至不可见状态。
    KICKED_BY_ADMIN3服务端调用 OpenAPI 将远端用户踢出房间。

ConnectionStateChangeEvent

类型: interface

连接状态改变

state

类型: ConnectionState

内部连接状态

ConnectionState

类型: enum

SDK 与信令服务器连接状态。

  • 成员

    属性描述
    CONNECTION_START0进行连接前准备,锁定相关资源。
    CONNECTION_STATE_DISCONNECTED1连接断开。
    CONNECTION_STATE_CONNECTING2首次连接,正在连接中。
    CONNECTION_STATE_CONNECTED3首次连接成功。
    CONNECTION_STATE_RECONNECTING4连接断开后重新连接中。
    CONNECTION_STATE_RECONNECTED5连接断开后重连成功。
    CONNECTION_STATE_LOST6处于 CONNECTION_STATE_DISCONNECTED 状态超过 10 秒,且期间重连未成功。SDK将继续尝试重连。

MediaType

类型: enum

媒体流类型

  • 成员

    属性描述
    AUDIO1只控制音频
    VIDEO2只控制视频
    AUDIO_AND_VIDEO3同时控制音频和视频

StreamRemoveReason

类型: enum

房间内远端流移除原因。

  • 成员

    属性描述
    STREAM_REMOVE_REASON_UNPUBLISH0远端用户停止发布流。
    STREAM_REMOVE_REASON_PUBLISH_FAILED1远端用户发布流失败。
    STREAM_REMOVE_REASON_KEEP_LIVE_FAILED2保活失败。
    STREAM_REMOVE_REASON_CLIENT_DISCONNECTED3远端用户断网。
    STREAM_REMOVE_REASON_REPUBLISH4远端用户重新发布流。
    STREAM_REMOVE_REASON_OTHER5其他原因。
    STREAM_REMOVE_REASON_TOKEN_PRIVILEGE_EXPIRED6Token 发布权限过期。

onVideoFirstFrameRenderedEvent

类型: interface

第一帧远端视频显示在视图上

userId

类型: string

发布视频用户的 userId

height

类型: number

高度

width

类型: number

宽度

isScreen

类型: boolean

是否为屏幕流

playerId

类型: string | undefined

播放器 ID。空值为默认播放器。
该设置对 WTN 流无效。

onAudioFirstFrameDecodedEvent

类型: interface

第一帧远端音频解码事件

userId

类型: string

发布音频用户的 userId

isScreen

类型: boolean

是否为屏幕共享流

DeviceInfo

类型: interface

媒体设备信息及状态。

mediaDeviceInfo

类型: MediaDeviceInfo

媒体设备信息,参看 MediaDeviceInfo

deviceState

类型: "active" | "inactive"

设备状态。
active:设备已连接。
inactive:设备已断开连接。

UserMessageEvent

类型: interface

点对点文本消息

userId

类型: string

发送消息的用户

message

类型: string

点对点文本消息

UserBinaryMessageEvent

类型: interface

点对点二进制消息

userId

类型: string

发送消息的用户

message

类型: ArrayBuffer

点对点二进制消息

RemoteStreamStats

类型: interface

远端媒体流统计信息,统计周期为 2s 。
本地用户订阅媒体流成功后,SDK 会周期性地通知远端的媒体流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。

userId

类型: string

进房用户的 userId

audioStats

类型: RemoteAudioStats

远端音频流信息

videoStats

类型: RemoteVideoStats

远端视频流信息

isScreen

类型: boolean

所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

RemoteAudioStats

类型: 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) 累计次数

RemoteVideoStats

类型: 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 格式。

LocalStreamStats

类型: interface

本地媒体流统计信息以及网络状况,统计周期为 2s 。
本地用户发布媒体流成功后,SDK 会周期性地通知本地用户发布的媒体流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。

audioStats

类型: LocalAudioStats

本地发送音频流的统计信息。

videoStats

类型: LocalVideoStats

本地发送视频流的统计信息。

isScreen

类型: boolean

所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

LocalAudioStats

类型: interface

本地音频流统计信息以及网络状况,统计周期为 2s 。
本地用户发布音频流成功后,SDK 会周期性地通知本地用户发布的音频流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。

audioLossRate

类型: number

音频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。

sendKBitrate

类型: number

发送码率。统计周期内的音频接收码率,单位为 kbps 。

recordSampleRate

类型: number

采集采样率。统计周期内的音频采集采样率信息,单位为 Hz 。

statsInterval

类型: number

统计间隔。此次统计周期的间隔,单位为 ms 。

rtt

类型: number

客户端到服务端数据传输的往返时延,单位:ms

numChannels

类型: number

声道数

LocalVideoStats

类型: 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

所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

PublicStreamStats

用户订阅的 WTN 流统计信息以及网络状况,统计周期为 2s。

  • 类型

    Omit<
      RemoteStreamStats,
      'userId' | 'isScreen'
    > & {
      publicStreamId: string;
    }
    
  • 成员

    名称类型描述
    publicStreamIdstringWTN 流 ID。
    RemoteStreamStatsRemoteStreamStats远端媒体流统计信息

LocalStatsException

类型: interface

本地用户媒体流异常信息

exception

类型: string

本地媒体流异常信息。可取值参见 RTCExceptionCodeMap 中的异常信息列。

code

类型: number

本地媒体流异常代码。可取值,参见 RTCExceptionCodeMap 中的异常代码列。

isScreen

类型: boolean

本地媒体流是否为屏幕流:true-屏幕流,false-主流

RemoteStatsException

类型: interface

远端用户媒体流异常信息

userId

类型: string

发生异常的远端用户 ID

exception

类型: string

远端媒体流异常信息。可取值,参见 RTCExceptionCodeMap 中的异常信息列。

code

类型: number

远端媒体流异常代码。可取值,参见 RTCExceptionCodeMap 中的异常代码列。

isScreen

类型: boolean

远端媒体流是否为屏幕流:true-屏幕流,false-主流

LocalAudioPropertiesInfo

类型: interface

本地音频信息

streamIndex

类型: StreamIndex

流属性,标记该流为麦克风采集音频流或屏幕音频流。

audioPropertiesInfo

类型: AudioPropertiesInfo

音频属性信息。

StreamIndex

类型: enum

流属性

  • 成员

    属性描述
    STREAM_INDEX_MAIN0主流。包括:通过默认摄像头/麦克风采集到的视频/音频;
    STREAM_INDEX_SCREEN1屏幕流。共享的视频流,或来自声卡的本地播放音频流。

AudioPropertiesInfo

类型: interface

音频属性信息

linearVolume

类型: number

线性音量,与原始音量呈线性关系,数值越大,音量越大。取值范围是:[0,255]。

  • [0, 25]: 近似无声
  • [26, 75]: 低音量
  • [76, 204]: 中音量
  • [205, 255]: 高音量

nonlinearVolume

类型: number

非线性音量。由原始音量的对数值转化而来,因此在中低音量时更灵敏,可以用作 Active Speaker(房间内最活跃用户)的识别。取值范围是:[-127,0],单位 dB。

  • [-127, -60]: 近似无声
  • [-59, -40]: 低音量
  • [-39, -20]: 中音量
  • [-19, 0]: 高音量

RemoteAudioPropertiesInfo

类型: interface

远端音频信息

streamKey

类型: StreamKey

远端流信息

audioPropertiesInfo

类型: AudioPropertiesInfo

远端音频属性信息

StreamKey

类型: interface

远端流信息

roomId

类型: string

房间 ID

userId

类型: string

用户 ID

streamIndex

类型: StreamIndex

流属性,标记该流为麦克风采集音频流或屏幕音频流。

onSEIMessageEvent

类型: interface

收到带有 SEI 消息的视频帧时,收到此回调

remoteStreamKey

类型: RemoteStreamKey

包含 SEI 发送者的用户名,所在的房间名和媒体流

sei

类型: Uint8Array

收到的 SEI 消息内容

RemoteStreamKey

类型: interface

远端流信息

roomId

类型: string

房间 ID

userId

类型: string

用户 ID

streamIndex

类型: StreamIndex

流属性,包括主流、屏幕流。

onSEIStreamUpdateEvent

类型: interface

包含 SEI 信息的流更新事件。

userId

类型: string

用户 ID。

isScreen

类型: boolean

是否为屏幕流。

type

类型: SEIStreamEventType

包含 SEI 信息的流类型。

SEIStreamEventType

类型: enum

包含 SEI 信息的流类型。

  • 成员

    属性描述
    BLACK0远端用户发布黑帧视频流。
    语音通话场景下,远端用户调用 sendSEIMessage 发送 SEI 数据时,SDK 会自动发布一路黑帧视频流,并触发该回调。
    NORMAL1远端黑帧视频流移除。该回调的触发时机包括:
    • 远端用户开启摄像头采集,由语音通话切换至视频通话,黑帧视频流停止发布;
    • 远端用户调用 setVideoSourceType 切换至自定义视频采集时,黑帧视频流停止发布;
    • 远端用户调用 sendSEIMessage 后 1 分钟内未有 SEI 数据发送,黑帧视频流停止发布。

SubscribeState

类型: enum

音视频流订阅结果

  • 成员

    属性描述
    SUBSCRIBE_SUCC0更新订阅状态成功
    SUBSCRIBE_FAIL1更新订阅状态失败

PublishState

类型: enum

音视频流发布结果

  • 成员

    属性描述
    PUBLISH_SUCC0发布成功
    PUBLISH_FAIL1发布失败

AutoPlayFailedEvent

类型: interface

自动播放失败事件

userId

类型: string

自动播放失败的流所属的用户 ID。不带此参数时表示本地流播放失败。

kind

类型: "video" | "audio"

自动播放失败的媒体类型
例如,当同一用户的视频流和音频流自动播放都失败时,将触发两次 onAutoPlayFailed 回调,分别包含 audiovideo 参数。

streamIndex

类型: StreamIndex

视频流属性。

mediaType

类型: MediaType.AUDIO | MediaType.VIDEO

远端媒体流的类型

playerId

类型: string | undefined

播放器 ID。空值为默认播放器。

position

类型: EarMonitorPosition | undefined

是否开启耳返音频。耳返的音频是否经过前处理。

EarMonitorPosition

类型: enum

是否开启耳返音频

  • 成员

    属性描述
    NONE0不开启耳返
    AFTER_CAPTURE1未经混音和前处理的本地音频
    AFTER_PROCESS2经过前处理的本地音频,未经混音

AudioMixingStateChangedEvent

类型: interface

音频混音文件播放状态改变事件

mixId

类型: number

混音 ID

state

类型: AudioMixingState

混音状态

error

类型: AudioMixingError

混音错误

AudioMixingState

类型: enum

音频混音文件播放状态。

  • 成员

    属性描述
    AUDIO_MIXING_STATE_PRELOADED0混音已加载
    AUDIO_MIXING_STATE_PLAYING1混音正在播放
    AUDIO_MIXING_STATE_PAUSED2混音暂停
    AUDIO_MIXING_STATE_STOPPED3混音停止
    AUDIO_MIXING_STATE_FAILED4混音播放失败
    AUDIO_MIXING_STATE_FINISHED5混音播放结束
    AUDIO_MIXING_STATE_PCM_ENABLED6准备 PCM 混音
    AUDIO_MIXING_STATE_PCM_DISABLED7PCM 混音播放结束

CloudProxyConnectedEvent

类型: interface

SDK 成功连接云代理服务器事件。

interval

类型: number

SDK 开启云代理后,加入频道的耗时。

PublicStreamResultEvent

类型: interface

WTN 流发布结果

code

类型: number

WTN 流发布事件编号

message

类型: string

WTN 流发布事件详情

  • 200: 发布或订阅成功
  • 1191: WTN 流的参数异常,请修改参数后重试
  • 1192: 服务端状态异常,将自动重试
  • 1193: 内部错误,不可恢复,请重试
  • 1195: 推流失败,将自动重试,用户不需要处理
  • 1196: 推流失败,10 s 后会重试,重试 3 次后停止重试

PublicStreamSEIMessageEvent

类型: interface

WTN 流中包含的 SEI 信息。

publicStreamId

类型: string

WTN 流 ID

sei

类型: Uint8Array

收到的 SEI 消息内容

PublicStreamVideoFirstFrameDecodedEvent

WTN 流首帧视频解码事件。

  • 类型

    Omit<
      onVideoFirstFrameDecodedEvent,
      'userId'
    > & {
      publicStreamId: string;
    }
    
  • 成员

    名称类型描述
    publicStreamIdstringWTN 流 ID。
    onVideoFirstFrameDecodedEventonVideoFirstFrameDecodedEvent视频首帧解码事件。

onVideoFirstFrameDecodedEvent

类型: interface

第一帧远端视频解码事件

userId

类型: string

发布视频用户的 userId

height

类型: number

高度

width

类型: number

宽度

PublicStreamAudioFirstFrameDecodedEvent

类型: interface

WTN 流首帧解码/渲染事件。

publicStreamId

类型: string

WTN 流 ID。

NetworkQuality

类型: enum

网络质量

  • 成员

    属性描述
    UNKNOWN0网络质量未知
    EXCELLENT1网络质量极好
    GOOD2主观感觉和 Excellent 差不多,但码率可能略低
    POOR3主观感受有瑕疵但不影响沟通
    BAD4勉强能沟通但不顺畅。建议降低采样率、码率或通过 UI 提示用户是否切换为纯语音通话。
    VBAD5网络质量非常差,基本不能沟通。建议通过 UI 给出弱网提示。
    DOWN6网络连接断开,无法通话。

RemoteStreamSwitch

类型: interface

流切换信息。本地用户订阅的远端流触发回退策略时的流切换信息。

userId

类型: string

订阅的音视频流的发布者的用户 ID

isScreen

类型: boolean

是否是屏幕共享流

beforeVideoIndex

类型: number

原分辨率视频流的下标

afterVideoIndex

类型: number

现分辨率视频流的下标

beforeEnable

类型: boolean

原媒体流是否是视频流

afterEnable

类型: boolean

现媒体流是否是视频流

reason

类型: FallbackOrRecoverReason

触发流回退或恢复的原因

FallbackOrRecoverReason

类型: enum

触发流回退或恢复的原因

  • 成员

    属性描述
    Unknown-1其他原因,非带宽原因引起的回退或恢复。默认值
    SubscribeFallbackByBandwidth0由带宽不足导致的流回退。
    SubscribeRecoverByBandwidth2由带宽恢复导致的流恢复。

StreamMixingEvent

类型: interface

转推直播相关事件。

event

类型: StreamMixingEventType

转推直播事件类型。

error

类型: StreamMixingEventErrorCode

转推直播事件错误码。

message

类型: string

转推直播事件错误详情。

StreamMixingEventType

类型: enum

转推直播事件类型

  • 成员

    属性描述
    START1已发起开始转推请求。
    START_SUCCESS2转推至 CDN 成功。
    START_FAILED3推流 CDN 失败。
    UPDATE4已发起更新转推请求。
    UPDATE_SUCCESS5成功应用新配置进行推流。
    UPDATE_FAILED6更新合流失败,新配置参数校验失败或配置未生效。
    STOP7已发起停止转推请求。
    STOP_SUCCESS8成功停止推流至CDN。
    STOP_FAILED9停止推流失败。

VideoStreamBannedEvent

类型: interface

视频流发布封禁/解禁事件

uid

类型: string

被禁用/解禁的视频流用户 ID

banned

类型: boolean

视频流发布状态
true:视频流发布被禁止
false: 视频流发布被解禁

AudioStreamBannedEvent

类型: interface

音频流发布封禁/解禁事件

uid

类型: string

被禁用/解禁的音频流用户 ID

banned

类型: boolean

音频流发布状态
true:音频流发布被禁止
false: 音频流发布被解禁

SubtitleEvent

类型: interface

字幕任务状态。

event

类型: SubtitleEventType

字幕任务状态类型。

errorCode

类型: ErrorCode | undefined

字幕任务错误码。

  • SUBTITLE_ERR_POSTPROCESS: 云端媒体处理内部出现错误。
  • SUBTITLE_ERR_CONNECTION_ERROR: 第三方服务连接失败。
  • SUBTITLE_ERR_PROCESS_ERROR: 云端媒体处理超时未响应。
  • SUBTITLE_ERR_UNKNOWN: 客户端无法识别云端媒体处理发送的错误码。

errorMessage

类型: string | undefined

字幕相关信息。

SubtitleEventType

类型: enum

字幕任务状态类型。

  • 成员

    属性描述
    STARTED0字幕已开启。
    STOPPED1字幕已关闭。
    ERROR2字幕任务出现错误。
    UPDATED3字幕翻译配置已更新。

SubtitleMessage

类型: interface

字幕具体内容。

userId

类型: string

说话者的用户ID。

text

类型: string

语音识别或翻译后的文本, 采用 UTF-8 编码。

definite

类型: boolean

语音识别出的文本是否为一段完整的一句话。 True 代表是, False 代表不是。

sequence

类型: number

语音识别或翻译后形成的文本的序列号。同一发言人的完整发言和不完整发言会按递增顺序单独分别编号。

language

类型: string

字幕语种代号。

mode

类型: SUBTITLE_MODE

字幕模式。

SUBTITLE_MODE

类型: enum

字幕模式。

  • 成员

    属性描述
    ASR_ONLY0识别模式。在此模式下,房间内用户语音会被转为文字。
    ASR_AND_TRANSLATION1翻译模式。在此模式下,房间内用户语音会先被转为文字,再被翻译为目标语言。

ForwardStreamStateInfo

类型: interface

跨房间转发媒体流状态信息。

roomId

类型: string

跨房间转发媒体流的目标房间 ID。

state

类型: ForwardStreamState

跨房间转发媒体流状态。

error

类型: ForwardStreamError

跨房间转发媒体流错误码。

ForwardStreamState

类型: enum

跨房间转发媒体流状态。

  • 成员

    属性描述
    FORWARD_STREAM_STATE_SUCCESS0成功。
    FORWARD_STREAM_STATE_FAILURE1失败。

PlayerVisibility

类型: interface

播放器可见性状态及其相关信息(例如用户ID、媒体类型、流索引等)。

descriptor

类型: { userId?: string | undefined; mediaType: MediaType.VIDEO; streamIndex?: StreamIndex | undefined; streamId?: string | undefined; playerId?: string | undefined; }

播放器描述信息,包含用户ID、媒体类型、流索引等标识信息。

  • 成员

    名称类型描述
    userIdstring | undefined用户ID,标识流的发布者。
    mediaTypeMediaType.VIDEO媒体类型,当前仅支持视频类型。
    streamIndexStreamIndex | undefined流索引,用于区分主流和屏幕共享流。
    streamIdstring | undefined流ID,唯一标识一个媒体流。
    playerIdstring | undefined播放器ID,唯一标识一个播放器实例。

status

类型: VisibilityStatus[]

播放器可见性状态数组,包含播放器当前的所有可见性状态。

VisibilityStatus

类型: enum

播放器可见状态和不可见原因。

  • 成员

    属性描述
    PLAYER_VISIBLE'visible'播放器可见。
    PLAYER_INVISIBLE_BY_UNMOUNT'unmount'播放器未被挂载到 DOM,导致不可见。
    PLAYER_INVISIBLE_BY_SIZE'size'播放器因尺寸问题导致不可见(比如尺寸过小)。
    PLAYER_INVISIBLE_BY_STYLE'style'播放器因样式问题不可见。例如:display: noneopacity: 0 等。
    PLAYER_INVISIBLE_BY_POSITION'position'播放器因位置问题不可见(比如位置超出了可视区域)。
    PLAYER_INVISIBLE_BY_COVERED'covered'播放器因被覆盖而不可见。

RoomConfig

类型: interface

房间参数配置。

isAutoPublish

类型: boolean | undefined

是否自动发布音视频流,默认为自动发布。
取消自动发布后,通过调用 publishStream 进行音视频流发布。

isAutoSubscribeAudio

类型: boolean | undefined

是否自动订阅音频流,默认为自动订阅。
不包含屏幕流。
进房后,你可以调用 subscribeStreamunsubscribeStream 修改订阅设置。

isAutoSubscribeVideo

类型: boolean | undefined

是否自动订阅视频流,默认为自动订阅。
不包含屏幕流。
进房后,你可以调用 subscribeStreamunsubscribeStream 修改订阅设置。

remoteVideoConfig

类型: RemoteVideoConfig | undefined

远端视频流参数。

roomMode

类型: RoomMode | undefined

房间的创建模式。支持创建同时支持使用 RTC 和 RTS 功能的房间(默认),或创建仅支持 RTS 功能的房间。

RemoteVideoConfig

类型: interface

远端视频流参数

width

类型: number

视频宽度,单位:px

height

类型: number

视频宽度,单位:px

RoomMode

类型: enum

房间模式。

  • 成员

    属性描述
    ROOM_MODE_RTC0默认模式。房间内可同时使用 RTC 和 RTS 功能。
    ROOM_MODE_RTS_ONLY1房间内仅可使用 RTS 功能。该模式下,不可调用 RTC 相关的接口。
    如果你只需要 RTS 功能,推荐通过集成 RTS SDK 创建应用。目前已支持 Android、iOS 以及 Web 端。

ScreenConfig

类型: 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 将在开始共享前弹出默认选择框,供用户选择屏幕共享源。

VideoPlayerOption

类型: interface

播放器信息和渲染模式

renderDom

类型: string | HTMLElement | undefined

渲染窗口,为视频渲染的父元素。视频的 htmlVideoElement 将挂在该父元素下进行渲染,且视频渲染的宽高以 renderDom 为准,根据渲染模式确定是否完全填充整个父元素的区域。

renderMode

类型: VideoRenderMode | undefined

渲染模式。

userId

类型: string

用户 ID,支持以下字符集范围

  • 26 个大写字母 A ~ Z
  • 26 个小写字母 a ~ z
  • 10 个数字 0 ~ 9
  • 下划线 "_",at 符 "@",减 号 "-"
    该设置对 WTN 流无效。

rotation

类型: number | undefined

视频帧顺时针的旋转角度。可选值为 0,90,180,270。默认值是 0,即不做旋转处理。
该设置仅对远端视频有效,调用 setLocalVideoPlayer 设置本参数不生效。

playerId

类型: string | undefined

播放器 ID。不指定时视为默认播放器。
该设置对 WTN 流无效。

VideoRenderMode

类型: enum

渲染模式

  • 成员

    属性描述
    RENDER_MODE_HIDDEN0(主流默认值)视窗填满优先。
    视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。
    RENDER_MODE_FIT1(屏幕流默认值)视频帧内容全部显示优先。
    视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上会出现未被填满的透明区域。
    RENDER_MODE_FILL2视窗填满并显示视频全部内容。
    视频帧非等比缩放,拉伸至填满视窗区域。

MirrorType

类型: enum

是否开启视频流渲染镜像。
因浏览器限制,不支持编码传输镜像。

  • 成员

    属性描述
    MIRROR_TYPE_NONE0无镜像效果
    MIRROR_TYPE_RENDER1开启镜像效果

VideoEncoderConfig

类型: 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':清晰度优先,适用于视频内容包含图片、文本混排的情况。

preferCodecName

类型: VideoCodecType | undefined

设置编码优先级。默认为 'auto',无偏好,SDK 会根据当前视频流的分辨率、设备性能自动匹配适合的编解码格式。

VideoCodecType

类型: enum

编码格式。

  • 成员

    属性描述
    AUTO'auto'不指定编解码格式。SDK 会根据当前视频流的分辨率、设备性能自动匹配适合的编解码格式。
    H264'h264'H.264
    VP8'vp8'VP8
    H265'h265'H.265
    该格式对浏览器和分辨率有限制,具体查看 Web SDK 浏览器兼容性和已知问题

ScreenEncoderConfig

类型: 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':清晰度优先,适用于视频内容包含图片、文本混排的情况。

SimulcastStreamType

类型: enum

订阅大小流偏好

  • 成员

    属性描述
    VIDEO_STREAM_HIGH'high'大流
    VIDEO_STREAM_MID'mid'中流
    VIDEO_STREAM_LOW'low'小流

VideoSimulcastMode

类型: enum

发布大小流模式

  • 成员

    属性描述
    VIDEO_ONLY_ONE0单流模式。始终只有 1 路分辨率的流。
    VIDEO_ON_DEMAND1按需订阅模式。发送端会根据订阅端的状态,按需发布。无订阅偏好设置默认发送 2 路。
    VIDEO_ALWAYS_SIMULCAST2多流模式。发送端始终按照设置的参数发布所有大小流。默认发送 2 路。

AudioPropertiesConfig

类型: interface

音频信息提示的相关配置

interval

类型: number | undefined

信息提示间隔,单位:ms,默认为 100ms

  • ≤0: 关闭信息提示
  • (0,100): 不合法的interval 值,SDK 自动设置为 100ms
  • ≥100: 开启信息提示,并将信息提示间隔设置为此值

enableInBackground

类型: boolean | undefined

是否在页面隐藏时保持开启获取音量回调,默认保持开启。

  • true: 保持开启
  • false:关闭

localMainReportMode

类型: LocalMainReportMode | undefined

本地主流音量回调模式。

audioReportMode

类型: AudioReportMode | undefined

本地主流音量回调的数据范围,控制回调中是否包含混音。

LocalMainReportMode

类型: enum

本地主流音量回调模式。
该功能影响 onActiveSpeaker 回调。例如,进入房间但未发布主流音频,LocalMainReportModeRESET,则该回调永远不会包含本端用户主流音频。

  • 成员

    属性描述
    NORMAL0(默认值)本地主流存在时,始终开启音量回调。
    DISCONNECT1未发布时,不回调对应音量。发布时回调真实音量。
    RESET2未发布时,始终回调 0。发布时正常回调真实音量。

AudioReportMode

类型: enum

本地主流音量回调的数据范围,控制回调中是否包含混音。
该功能影响 onActiveSpeaker 回调。例如,AudioReportModeAUDIOMIXING,即使麦克风音量为 0,该回调中也可能回调本端用户主流音频。

  • 成员

    属性描述
    MICROPHONE0(默认值)麦克风音量,即混音前的音量。
    AUDIOMIXING1混音后的音量。

LiveTranscodeConfig

类型: interface

转码推流配置参数。

url

类型: string

推流 CDN 地址。仅支持 RTMP 协议,Url 必须满足正则 /^rtmps?:\/\//
本参数不支持过程中更新。

audio

类型: Partial<LiveTranscodeAudioConfig> | undefined

音频转码配置参数。
本参数不支持过程中更新。

video

类型: Partial<LiveTranscodeVideoConfig> | undefined

视频转码配置参数。

layout

类型: Partial<LiveTranscodeLayoutConfig> | undefined

用户布局信息。

LiveTranscodeAudioConfig

类型: 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

AAC_PROFILE

类型: enum

AAC 编码规格。

  • 成员

    属性描述
    LC'LC'AAC-LC 规格,默认值。
    HEv1'HEv1'HE-AAC v1 规格。
    HEv2'HEv2'HE-AAC v2 规格。

LiveTranscodeVideoConfig

类型: interface

视频转码配置参数。值不合法或未设置时,自动使用默认值。

width

类型: number

合流视频宽度。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 640 px。
设置值为非偶数时,自动向上取偶数。

height

类型: number

合流视频高度。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 360 px。
设置值为非偶数时,自动向上取偶数。

codec

类型: TRANSCODING_VIDEO_CODEC

视频编码格式。默认值为 H264
本参数不支持过程中更新。

fps

类型: number

合流视频帧率。单位为 FPS,取值范围为 [1,60],默认值为 15 FPS。

gop

类型: number

视频 I 帧时间间隔。单位为秒,取值范围为 [1, 5],默认值为 2 秒。
本参数不支持过程中更新。

kBitRate

类型: number

合流视频码率。单位为 Kbps,取值范围为 [1,10000],默认值为自适应模式。

TRANSCODING_VIDEO_CODEC

类型: enum


视频编码格式。

  • 成员

    属性描述
    H264'H264'H.264 格式,默认值。
    H265'H265'H.265 格式。

LiveTranscodeLayoutConfig

类型: interface

视频流合流整体布局信息。
开启转推直播功能后,你可以设置参与合流的每路视频流的预设布局信息和合流背景信息等。

regions

类型: LiveTranscodeLayoutRegion[]

用户布局信息列表。值不合法或未设置时,自动使用默认值。

appData

类型: string

透传的 App 数据,长度不超过 4 KB。

backgroundColor

类型: string

合流背景颜色,用十六进制颜色码(HEX)表示。例如,#FFFFFF 表示纯白,#000000 表示纯黑。默认值为 #000000。
值不合法或未设置时,自动使用默认值。

LiveTranscodeLayoutRegion

类型: 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

是否是屏幕流

VideoSourceType

类型: enum

视频采集方式

  • 成员

    属性描述
    VIDEO_SOURCE_TYPE_EXTERNAL0自定义采集
    VIDEO_SOURCE_TYPE_INTERNAL1内部采集,使用由 SDK 提供的视频采集模块(默认)

AudioSourceType

类型: enum

音频采集方式

  • 成员

    属性描述
    AUDIO_SOURCE_TYPE_EXTERNAL0自定义采集模块
    AUDIO_SOURCE_TYPE_INTERNAL1内部采集,使用由 SDK 提供的音频采集模块

TrackCaptureConfig

内部采集的媒体属性,详见浏览器文档

  • 类型

    Omit<MediaTrackConstraints, 'deviceId'>
    

USER_ONLINE_STATUS

类型: enum


登录状态

  • 成员

    属性描述
    OFFLINE0离线。无法收发点对点消息。
    ONLINE1在线
    UNREACHABLE2未知。无法收发点对点消息。

CloudProxyInfo

类型: interface

云代理服务器信息

logProxy

类型: string

埋点日志上报的代理地址

accessProxy

类型: string | string[]

统一接入的代理地址

configProxy

类型: string

RTC 配置下发的代理地址

PublicStreamConfig

类型: interface

WTN 流配置信息

video

类型: { width?: number | undefined; height?: number | undefined; fps?: number | undefined; kBitRate: number; } | undefined

视频参数

  • 成员

    名称类型描述
    widthnumber | undefined宽度,单位:px。
    仅支持设为偶数,如果设为奇数,将导致 WTN 流发布失败。
    heightnumber | undefined高度,单位:px。
    仅支持设为偶数,如果设为奇数,云端媒体处理会直接拒绝,导致 WTN 流失败。
    fpsnumber | undefined帧率,单位:fps
    kBitRatenumber码率,单位:kbps

layout

类型: { interpolationMode?: PublicInterpolationMode | undefined; backgroundColor?: string | undefined; backgroundImage?: string | undefined; regions?: PublicStreamLayoutRegion[] | undefined; } | undefined

WTN 流的布局模式

  • 成员

    名称类型描述
    interpolationModePublicInterpolationMode | undefined补帧模式
    backgroundColorstring | undefined背景颜色,用 Hex 色值表示。
    backgroundImagestring | undefined背景图片的 URL。长度最大为 1024 byte。可以传入的图片的格式包括:JPG, JPEG, PNG。
    regionsPublicStreamLayoutRegion[] | undefined多路媒体流布局设置。

PublicInterpolationMode

类型: enum

补帧模式

  • 成员

    属性描述
    PREV_FRAME0补最后一帧。
    OTHER_FRAME1补背景图片或者黑帧。

PublicStreamLayoutRegion

多路媒体流中一路流的布局设置。
本结构体包含了 LiveTranscodeLayoutRegionisLocalUsercontentControl 除外的所有参数及以下参数。

  • 类型

    Omit<LiveTranscodeLayoutRegion, 'isLocalUser' | 'contentControl'> & {
      roomId: string;
      mediaType?: PublicStreamType;
      sourceCrop?: {
        x: number;
        y: number;
        w: number;
        h: number;
      };
    }
    
  • 成员

    名称类型描述
    roomIdstring媒体流发布用户的房间 ID
    mediaTypePublicStreamType | undefinedWTN 流输出内容类型
    sourceCrop{ x: number; y: number; w: number; h: number; } | undefinedWTN 流视频裁剪配置
    xnumber裁剪后得到的视频帧左上角横坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)。
    ynumber裁剪后得到的视频帧左上角纵坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)。
    wnumber裁剪后得到的视频帧宽度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]。
    hnumber裁剪后得到的视频帧高度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]。

PublicStreamType

类型: enum

WTN 流是否包含音视频。

  • 成员

    属性描述
    AUDIO_AND_VIDEO0包含音视频。
    AUDIO_ONLY1仅包含音频。
    VIDEO_ONLY2仅包含视频。

SubscribeFallbackOption

类型: enum

订阅端音视频流回退选项。

  • 成员

    属性描述
    DISABLE0不开启回退功能。默认设置。
    VIDEO_STREAM_LOW1下行网络不佳时,对视频流做降级处理。
    该设置仅对发布端开启 Simulcast 功能时生效。参见使用 Simulcast 功能
    AUDIO_ONLY2下行网络不佳时,取消接收视频,仅接收音频。
    当发布端开启发送多路流功能时,设置此选项不利于提升用户体验,因此不建议设置此选项。

RemoteUserPriority

类型: enum

远端用户优先级

  • 成员

    属性描述
    LOW0用户优先级为低(默认值)
    MEDIUM100用户优先级为正常
    HIGH200用户优先级为高

AudioProfileType

类型: enum

音质档位
调用 setAudioProfile 设置的音质档位

  • 成员

    属性描述
    default0默认音质
    服务器下发的音质配置
    fluent1流畅音质。
    单声道,采样率为 16kHz,编码码率为 24kbps。
    流畅优先、低功耗、低流量消耗,适用于大部分游戏场景,如小队语音、组队语音、国战语音等。
    standard2单声道标准音质。
    采样率为 48kHz,编码码率为 48kbps。
    适用于对音质有一定要求的场景,同时延时、功耗和流量消耗相对适中,适合教育场景和狼人杀等游戏。
    hd3双声道音乐音质
    采样率为 48kHz,编码码率为 128kbps。
    超高音质,同时延时、功耗和流量消耗相对较大,适用于连麦 PK 等音乐场景。
    游戏场景不建议使用。
    standardStereo4双声道标准音质。采样率为 48 KHz,编码码率最大值为 80 Kbps
    hdMono5单声道音乐音质。采样率为 48 kHz,编码码率最大值为 128 Kbps

RTCSubtitleConfig

类型: interface

字幕配置信息。

targetLanguage

类型: string | string[] | undefined

目标语言语种代号,参看语言支持信息

mode

类型: SUBTITLE_MODE

字幕模式。

UpdateSubtitleConfig

类型: interface

字幕配置信息。用于更新字幕翻译源语种。

sourceLanguage

类型: string

源语言的语种代号。支持:

  • zh:中文
  • ja:日语
  • en:英语
  • ko:韩语

ForwardStreamInfo

类型: interface

跨房间转发媒体流信息。

roomId

类型: string

跨房间转发媒体流的目标房间 ID。

token

类型: string

使用目标房间 roomId 和 userId 生成的 Token。
测试时可使用控制台生成的临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。

AudioSelectionPriority

类型: enum

音频选路优先级设置。

  • 成员

    属性描述
    DEFAULT0正常,参加音频选路。
    HIGH1高优先级,跳过音频选路

RemoteUserVideoStats

类型: interface

用户订阅的远端视频流统计信息以及网络状况,统计周期为 1s。

mainVideoStats

类型: RemoteVideoStats

摄像头采集视频流

screenVideoStats

类型: RemoteVideoStats

屏幕共享流

RemoteUserAudioStats

类型: interface

用户订阅的远端音频流统计信息以及网络状况,统计周期为 1s。

mainAudioStats

类型: RemoteAudioStats

麦克风音频流信息

screenAudioStats

类型: RemoteAudioStats

屏幕音频流信息

LocalUserVideoStats

类型: interface

本地媒体流统计信息以及网络状况,统计周期为 1s 。

mainVideoStats

类型: LocalVideoStats

摄像头采集视频流

screenVideoStats

类型: LocalVideoStats

屏幕共享流

LocalUserAudioStats

类型: interface

本地媒体流统计信息以及网络状况,统计周期为 2s 。
本地用户发布媒体流成功后,SDK 会周期性地通知本地用户发布的媒体流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。

mainAudioStats

类型: LocalAudioStats

麦克风音频流信息

screenAudioStats

类型: LocalAudioStats

屏幕音频流信息

EngineConfig

类型: interface

引擎级别配置项

autoPlayPolicy

类型: RTCAutoPlayPolicy | undefined

自动播放策略

RTCAutoPlayPolicy

类型: enum

自动播放策略。参考自动播放策略,获取更多相关信息。

  • 成员

    属性描述
    AUTO_PLAY0默认值,自动播放音频和视频
    VIDEO_ONLY1自动播放视频,不自动播放音频
    PLAY_MANUALLY2不自动播放,引导用户通过交互,手动播放

ScreenSourceType

Electron 框架下,需要获取的共享源类型。
'screen': 屏幕。
'window': 应用和窗口。

  • 类型

    'screen' | 'window'
    

ElectronDesktopCapturerSource

类型: interface

Electron 框架下屏幕共享源对象。

id

类型: string

唯一标识。

name

类型: string

共享源名称。

thumbnail

类型: IElectronNativeImage

缩略图。

IElectronNativeImage

类型: interface

在 Electron 框架下屏幕共享源的缩略图

toDataURL

base 64 编码 Data URL 字符串。参见 nativeImage

  • 类型

    () => string
    
  • 返回值

    类型: string

onWTNPushStateChangedEvent

类型: interface

WTN 流发布结果。

streamId

类型: string

WTN 流 ID。

oldState

类型: WTNPushState

WTN 流发布任务原状态。

newState

类型: WTNPushState

WTN 流发布任务新状态。

reason

类型: WTNPushStateChangedReason

WTN 流发布任务状态变更原因。

elapse

类型: number

WTN 流发布任务状态变更耗时。

WTNPushState

类型: enum

客户端发布 WTN 流任务状态

  • 成员

    属性描述
    INIT0初始,调用 startPushWtn 后,状态由 init 变为 start。
    START1开始。
    SUCCESS2成功。
    STOP3停止。
    FAIL4推流失败。

WTNPushStateChangedReason

类型: enum

客户端发布 WTN 流任务状态变化原因

  • 成员

    属性描述
    PUSH_SUCCESS0成功。
    START_PUSH1主动调用 startPushWTN
    STOP_PUSH2主动调用 stopPushWTN
    IN_RETRY3网络错误重试
    RETRY_FAIL4重试失败,重试三次后报此错误。
    NO_PUSH_PERMISSION5token 无发布权限
    STREAM_PUSH_BY_OTHER6相同 stream_id 流被挤占

onWTNPlayStateChangedEvent

类型: interface

播放 WTN 流状态。

streamId

类型: string

WTN 流 ID。

oldState

类型: WTNPlayState

播放 WTN 流原状态。

newState

类型: WTNPlayState

播放 WTN 流新状态。

reason

类型: WTNPlayStateChangedReason

状态变更原因。

elapse

类型: number

状态变更耗时。

WTNPlayState

类型: enum

WTN 流播放事件

  • 成员

    属性描述
    INIT0初始,调用 startPlayWtn 后,状态由 INIT 变为 START。
    START1开始。
    SUCCESS2成功。
    STOP3停止。
    FAIL4推流失败。

WTNPlayStateChangedReason

类型: enum

播放 WTN 流状态变化原因

  • 成员

    属性描述
    PLAY_SUCCESS0成功。
    START_PLAY1主动调用 startPlayWtn。
    STOP_PLAY2主动调用 stopPlayWtn。
    REMOTE_STOP3发布端主动停止。
    REMOTE_FAILURE4发布端主动停止。
    STREAM_BANNED5流被封禁。
    NO_PLAY_PERMISSION6token 无订阅权限。
    STREAM_NOT_EXIST7远端流不存在。
    IN_RETRY8网络错误重试
    RETRY_FAIL9重试失败,重试三次后报此错误。
    INTERNAL10内部原因(目前包含服务端三个上限错误)
    OVER_CLIENT_SUBSCRIBE_STREAM_LIMIT1310超出单端订阅上限,一个引擎实例最多拉5路流
    OVER_STREAM_SUBSCRIBE_USER_LIMIT1311超出单流订阅人数上限,当前未配置限制
    OVER_STREAM_SUBSCRIBE_REQUES_TLIMIT1312超出单流订阅请求 QPS 上限,当前未配置限制

onWTNRemoteAudioStateChangedEvent

类型: interface

远端 WTN 流音频状态改变。

streamId

类型: string

WTN 流 ID。

state

类型: WTNRemoteAudioState

WTN 流音频状态改变。

reason

类型: WTNRemoteAudioStateChangeReason

远端 WTN 流音频状态变化原因

WTNRemoteAudioState

类型: enum

远端 WTN 流音频状态

  • 成员

    属性描述
    STOPED0初始状态。在 ReasonMute 和 ReasonRemotestop 情况下,报告该状态。
    STARTING1本地用户已接收远端视频首包
    DECODING2远端视频流正在解码,正常播放
    FROZEN3远端视频流卡顿
    FAILED4拉流发生error,reason=internal,不对外

WTNRemoteAudioStateChangeReason

类型: enum

远端 WTN 流音频状态变化原因

  • 成员

    属性描述
    INTERNAL0内部原因。
    NETWORK_CONGESTION1网络阻塞。
    NETWORK_RECOVERY2网络恢复正常。
    UNMUTE3本地订阅远端流。
    MUTE4本地取消订阅远端流。
    REMOTE_START5远端流发布。
    REMOTE_STOP6远端流停止发布。

onWTNRemoteVideoStateChangedEvent

类型: interface

WTN 流视频状态改变。

streamId

类型: string

WTN 流 ID。

state

类型: WTNRemoteVideoState

WTN 流视频状态。

reason

类型: WTNRemoteVideoStateChangeReason

WTN 流视频状态改变原因。

WTNRemoteVideoState

类型: enum

远端 WTN 流视频状态

  • 成员

    属性描述
    STOPED0初始状态。在 ReasonMute 和 ReasonRemotestop 情况下,报告该状态。
    STARTING1本地用户已接收远端视频首包
    DECODING2远端视频流正在解码,正常播放
    FROZEN3远端视频流卡顿
    FAILED4拉流发生error,reason=internal,不对外

WTNRemoteVideoStateChangeReason

类型: enum

远端 WTN 流视频状态变化原因

  • 成员

    属性描述
    INTERNAL0内部原因。
    NETWORK_CONGESTION1网络阻塞。
    NETWORK_RECOVERY2网络恢复正常。
    UNMUTE3本地订阅远端流。
    MUTE4本地取消订阅远端流。
    REMOTE_START5远端流发布。
    REMOTE_STOP6远端流停止发布。

onWTNRemoteVideoStatsEvent

类型: interface

WTN 流的视频统计信息。

streamId

类型: string

WTN 流 ID。

videoStats

类型: RemoteVideoStats

WTN 流的视频统计信息。

onWTNRemoteAudioStatsEvent

类型: interface

WTN 流的音频统计信息。

streamId

类型: string

WTN 流 ID。

audioStats

类型: RemoteAudioStats

WTN 流的音频统计信息。

onWTNFirstRemoteVideoFrameDecodedEvent

类型: interface

WTN 流视频首帧事件。

streamId

类型: string

WTN 流 ID。

onWTNSEIMessageReceivedEvent

类型: interface

WTN 流包含的 SEI 消息。

streamId

类型: string

WTN 流 ID。

sei

类型: Uint8Array

SEI。

onWTNLocalStatsExceptionEvent

类型: interface

本地 WTN 媒体流异常事件。

exception

类型: string

本地 WTN 媒体流异常信息。可取值,参见 RTCExceptionCodeMap 中的异常信息列。

code

类型: number

本地 WTN 媒体流异常代码。可取值,参见 RTCExceptionCodeMap 中的异常代码列。

streamId

类型: string

本地 WTN 媒体流 ID。

onWTNRemoteStatsExceptionEvent

类型: interface

远端 WTN 媒体流异常事件。

exception

类型: string

远端 WTN 媒体流异常信息。可取值,参见 RTCExceptionCodeMap 中的异常信息列。

code

类型: number

远端 WTN 媒体流异常代码。可取值,参见 RTCExceptionCodeMap 中的异常代码列。

streamId

类型: string

远端 WTN 媒体流 ID。

RTCExceptionCodeMap

异常信息异常代码说明
FRAMERATE_INPUT_TOO_LOW1001采集视频帧率过低
FRAMERATE_SENT_TOO_LOW1002发送视频帧率过低
SEND_VIDEO_BITRATE_TOO_LOW1003发送视频码率过低
RECV_VIDEO_DECODE_FAILED1005接收视频码率过低
AUDIO_INPUT_LEVEL_TOO_LOW2001输入(采集)音量过低
AUDIO_OUTPUT_LEVEL_TOO_LOW2002输出(播放)音频过低
SEND_AUDIO_BITRATE_TOO_LOW2003发送音频码率过低
FRAMERATE_INPUT_TOO_LOW_RECOVER3001采集视频帧率过低恢复
FRAMERATE_SENT_TOO_LOW_RECOVER3002发送视频帧率过低恢复
SEND_VIDEO_BITRATE_TOO_LOW_RECOVER3003发送视频码率过低恢复
RECV_VIDEO_DECODE_FAILED_RECOVER3005接收视频码率过低恢复
AUDIO_INPUT_LEVEL_TOO_LOW_RECOVER4001输入(采集)音量过低恢复
AUDIO_OUTPUT_LEVEL_TOO_LOW_RECOVER4002输出(播放)音频过低恢复
SEND_AUDIO_BITRATE_TOO_LOW_RECOVER4003发送音频码率过低恢复
最近更新时间:2026.07.20 11:10:17
这个页面对您有帮助吗?
有用
有用
无用
无用