RTCRoomConfig

类型: interface

房间参数配置。房间是 RTC 通话的抽象概念。在同一个房间中的用户可以进行音视频通话。

room_profile_type

类型: RoomProfileType

房间模式,默认为普通音视频通话模式,进房后不可更改。

is_auto_publish

类型: boolean

是否自动发布音视频流,默认为自动发布。
创建和加入多房间时,只能将其中一个房间设置为自动发布。
若调用 setUserVisibility 将自身可见性设为 false,无论是默认的自动发布流还是手动设置的自动发布流都不会进行发布,你需要将自身可见性设为 true 后方可发布。

is_auto_subscribe_audio

类型: boolean

是否自动订阅音频流,默认为自动订阅。
进房后,你可以调用 subscribeStream 修改订阅设置。

is_auto_subscribe_video

类型: boolean

是否自动订阅主视频流,默认为自动订阅。
进房后,你可以调用 subscribeStream 修改订阅设置。

remote_video_config

类型: RemoteVideoConfig

远端视频流参数

RoomProfileType

类型: enum

房间模式
根据所需场景,选择合适的房间模式,应用不同的音视频算法、视频参数和网络配置
调用 setAudioProfile 改变音频参数配置

RemoteVideoConfig

类型: interface

远端视频帧信息

framerate

类型: number

期望订阅的最高帧率,单位:fps,默认值为 0,设为大于 0 的值时开始生效。
当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。
仅码流支持 SVC 分级编码特性时方可生效。

resolution_width

类型: number

视频宽度,单位:px

resolution_height

类型: number

视频高度,单位:px

MediaStreamType

类型: enum

媒体流类型

PauseResumeControlMediaType

类型: enum

暂停/恢复接收远端的媒体流类型。

MessageConfig

类型: enum

发送消息的可靠有序性

ForwardStreamConfiguration

类型: interface

媒体流跨房间转发的目标房间的相关信息

forward_stream_dests

类型: ForwardStreamInfo[]

目标房间信息,数组中的每个元素包含一个房间的信息。

dest_count

类型: number

目标房间数量。媒体流同时转发的目标房间数量建议小于等于 4 个。

ForwardStreamInfo

类型: interface

媒体流跨房间转发的目标房间的相关信息

token

类型: string

使用转发目标房间 RoomID 和 UserID 生成 Token。
测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。
如果 Token 无效,转发失败。

room_id

类型: string

跨房间转发媒体流过程中目标房间 ID

AttenuationType

类型: enum

空间音频音量随距离衰减模式

HumanOrientation

类型: interface

三维朝向信息,三个向量需要两两垂直。

forward

类型: Orientation

正前方朝向,默认值为 {1,0,0},即正前方朝向 x 轴正方向

类型: Orientation

正右方朝向,默认值为 {0,1,0},即右手朝向 y 轴正方向

up

类型: Orientation

正上方朝向,默认值为 {0,0,1},即头顶朝向 z 轴正方向

Orientation

类型: interface

方向朝向信息

x

类型: number

x 方向向量

y

类型: number

y 方向向量

z

类型: number

z 方向向量

ProblemFeedbackOption

类型: enum

反馈信息类型

EchoTestConfig

类型: interface

音视频回路测试参数

audioPropertiesReportInterval

类型: number

音量信息提示间隔,单位:ms,默认为 100ms
+<= 0: 关闭信息提示
+(0,100]: 开启信息提示,不合法的 interval 值,SDK 自动设置为 100ms
+> 100: 开启信息提示,并将信息提示间隔设置为此值

uid

类型: string

进行音视频通话回路测试的用户 ID

roomId

类型: string

测试用户加入的房间 ID。

token

类型: string

对用户进房时进行鉴权验证的动态密钥,用于保证音视频通话回路测试的安全性。

VideoEncoderConfig

类型: interface

视频流参数

width

类型: number

视频宽度,单位:像素

height

类型: number

视频高度,单位:像素

frameRate

类型: number

视频帧率,单位:fps

maxBitrate

类型: number

最大发送编码码率(kbps),建议使用默认的自动码率。

  • -1: 自动码率
  • 0: 不开启上限
  • >0: 填写预估码率

  • 设为 0 则不对视频流进行编码发送。

    encoderPreference

    类型: VideoEncodePreference

    视频编码质量策略

    VideoEncodePreference

    类型: enum

    编码策略偏好

    • 成员

      属性值描述
      kVideoEncodePreferenceDisabled0无偏好。不降低帧率和分辨率。
      kVideoEncodePreferenceFramerate1(默认值)帧率优先。
      kVideoEncodePreferenceQuality2分辨率优先。
      kVideoEncodePreferenceBalance3平衡帧率与分辨率。
    MirrorType

    类型: enum

    镜像类型

    • 成员

      属性值描述
      kMirrorTypeNone0本地预览和编码传输时均无镜像效果
      kMirrorTypeRender1本地预览时有镜像效果,编码传输时无镜像效果
      kMirrorTypeRenderAndEncoder3本地预览和编码传输时均有镜像效果
    EffectBeautyMode

    类型: enum

    基础美颜模式

    • 成员

      属性值描述
      kEffectBeautyWhite0美白
      kEffectBeautySmooth1磨皮
      kEffectBeautySharpen2锐化
    TranscoderParam

    类型: interface

    转推直播配置参数

    room_id

    类型: string

    媒体流所在的房间 ID。必填。

    user_id

    类型: string

    媒体流所属的用户 ID

    uri

    类型: string

    推流地址

    audio_param

    类型: TranscoderAudioParam

    音频参数

    video_param

    类型: TranscoderVideoParam

    视频参数

    layout_regions

    类型: TranscoderLayoutRegion[]

    布局设置

    background_color

    类型: string

    背景颜色

    app_data

    类型: string

    设置透传的 App 数据

    TranscoderAudioParam

    类型: interface

    音频转码配置参数

    • API

      名称描述
      i32_sample_rate音频采样率,单位 kHz。可取 32Khz、44.1Khz、48Khz,默认值为 48Khz。
      i32_channel_num音频声道数。可取 1、2,默认值为 2。
      i32_bitrate_kbps音频码率,单位 Kbps。可取范围 [32Kbps, 192Kbps],默认值为 64Kbps。
      audio_codec_profileAAC 等级。默认值为 0。
    i32_sample_rate

    类型: number

    音频采样率,单位 kHz。可取 32Khz、44.1Khz、48Khz,默认值为 48Khz。

    i32_channel_num

    类型: number

    音频声道数。可取 1、2,默认值为 2。

    i32_bitrate_kbps

    类型: number

    音频码率,单位 Kbps。可取范围 [32Kbps, 192Kbps],默认值为 64Kbps。

    audio_codec_profile

    类型: TranscoderAudioCodecProfile

    AAC 等级。默认值为 0。

    TranscoderAudioCodecProfile

    类型: enum

    转推直播音频编码 AAC 等级

    • 成员

      属性值描述
      kByteAACProfileLC0AAC-LC
      kByteAACProfileMain1AAC-MAIN
      kByteAACProfileHEv12HE-AAC v1
      kByteAACProfileHEv23HE-AAC v2
    TranscoderVideoParam

    类型: interface

    合流视频转码参数

    • API

      名称描述
      i32_width合流视频宽度,单位:px。
      仅支持设为偶数,如果设为奇数,后处理会直接拒绝,导致合流失败。
      i32_height合流视频高度,单位:px。
      仅支持设为偶数,如果设为奇数,后处理会直接拒绝,导致合流失败。
      i32_fps合流的视频帧率。默认值为 15,取值范围是 [1, 60]。值不合法时,自动调整为默认值。
      i32_gopI 帧间隔。默认值为 4,取值范围为 [1, 5],单位为秒。值不合法时,自动调整为默认值。
      i32_bitrate_kbps合流视频码率。单位为 kbps,取值范围为 [1,10000],默认值为自适应。值不合法时,自动调整为默认值。
      video_codec_profile编码参数规格
      lowLatency是否开启低延迟
    i32_width

    类型: number

    合流视频宽度,单位:px。
    仅支持设为偶数,如果设为奇数,后处理会直接拒绝,导致合流失败。

    i32_height

    类型: number

    合流视频高度,单位:px。
    仅支持设为偶数,如果设为奇数,后处理会直接拒绝,导致合流失败。

    i32_fps

    类型: number

    合流的视频帧率。默认值为 15,取值范围是 [1, 60]。值不合法时,自动调整为默认值。

    i32_gop

    类型: number

    I 帧间隔。默认值为 4,取值范围为 [1, 5],单位为秒。值不合法时,自动调整为默认值。

    i32_bitrate_kbps

    类型: number

    合流视频码率。单位为 kbps,取值范围为 [1,10000],默认值为自适应。值不合法时,自动调整为默认值。

    video_codec_profile

    类型: TranscoderVideoCodecProfile

    编码参数规格

    lowLatency

    类型: boolean

    是否开启低延迟

    TranscoderVideoCodecProfile

    类型: enum

    转推直播视频编码参数

    • 成员

      属性值描述
      kByteH264ProfileBaseline0H264 格式基本规格编码
      kByteH264ProfileMain1H264 格式主流规格编码
      kByteH264ProfileHigh2H264 格式高规格编码
      kByteVC1ProfileBaseline3ByteVC1 格式基本规格编码
      kByteVC1ProfileMain4ByteVC1 格式主流规格编码
      kByteVC1ProfileHigh5ByteVC1 格式高规格编码
    TranscoderLayoutRegion

    类型: interface

    单个图片或视频流在合流中的布局信息。
    开启转推直播功能后,在多路图片或视频流合流时,你可以设置其中一路流在合流中的预设布局信息。

    • API

      名称描述
      region_id合流用户的 ID。必填。
      room_id媒体流所在房间的房间 ID。
      如果此图片或视频流是通过 startForwardStreamToRooms 转发到你所在房间的媒体流时,你应将房间 ID 设置为你所在的房间 ID。
      x用户视频布局相对画布左侧的偏移量,取值的范围为 [0.0, 1.0)
      y用户视频布局相对画布顶端的偏移量,取值的范围为 [0.0, 1.0)
      width用户视频宽度相对画布宽度的比例,取值的范围为 (0.0, 1.0]
      height用户视频高度相对画布高度的比例,取值的范围为 (0.0, 1.0]
      alpha透明度,取值范围 [0,255]
      i32_z_order用户视频布局在画布中的层级,取值范围 [0,100],0 为底层,值越大层级越高
      local_user是否为本地用户
      screen_stream是否为屏幕流
      content_control合流内容控制。默认值为 kHasAudioAndVideo
      render_mode渲染时,视频内容缩放模式
    region_id

    类型: string

    合流用户的 ID。必填。

    room_id

    类型: string

    媒体流所在房间的房间 ID。
    如果此图片或视频流是通过 startForwardStreamToRooms 转发到你所在房间的媒体流时,你应将房间 ID 设置为你所在的房间 ID。

    x

    类型: number

    用户视频布局相对画布左侧的偏移量,取值的范围为 [0.0, 1.0)

    y

    类型: number

    用户视频布局相对画布顶端的偏移量,取值的范围为 [0.0, 1.0)

    width

    类型: number

    用户视频宽度相对画布宽度的比例,取值的范围为 (0.0, 1.0]

    height

    类型: number

    用户视频高度相对画布高度的比例,取值的范围为 (0.0, 1.0]

    alpha

    类型: number

    透明度,取值范围 [0,255]

    i32_z_order

    类型: number

    用户视频布局在画布中的层级,取值范围 [0,100],0 为底层,值越大层级越高

    local_user

    类型: boolean

    是否为本地用户

    screen_stream

    类型: boolean

    是否为屏幕流

    content_control

    类型: TranscoderContentControlType

    合流内容控制。默认值为 kHasAudioAndVideo

    render_mode

    类型: TranscoderRenderMode

    渲染时,视频内容缩放模式

    TranscoderContentControlType

    类型: enum

    合流输出内容类型

    • 成员

      属性值描述
      kHasAudioAndVideo0音视频
      kHasAudioOnly1音频
      kHasVideoOnly2视频
    TranscoderRenderMode

    类型: enum

    转推直播视频渲染模式

    • 成员

      属性值描述
      kRenderHidden1视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
      kRenderFit2视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。
      kRenderAdaptive3视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。
    PushSingleStreamParam

    类型: interface

    单流转推直播配置参数。

    room_id

    类型: string

    媒体流所在的房间 ID。必填。

    user_id

    类型: string

    媒体流所属的用户 ID

    uri

    类型: string

    推流地址

    is_screen_stream

    类型: boolean

    媒体流是否为屏幕流。

    IPublicStreamParam

    类型: interface

    公共流参数

    mode

    类型: number

    补帧模式
    + 0: 补最后一帧
    + 1: 补背景图片,如果没有设置背景图片则补黑帧

    room_id

    类型: string

    合流房间 ID

    background_image_uri

    类型: string

    背景图片链接

    audio_param

    类型: PublicStreamAudioParam

    公共流音频编码参数。

    video_param

    类型: PublicStreamVideoParam

    公共流视频参数。

    layout_regions

    类型: PublicStreamLayoutRegion[]

    公共流视窗布局信息。

    PublicStreamAudioParam

    类型: interface

    公共流音频编码参数

    • API

      名称描述
      sample_rate音频采样率,必填。单位为 Hz。可选取值:16000, 32000, 44100 和 48000
      channel_num音频声道数,必填。
      + 1: 单声道
      + 2: 双声道
      bitrate_kbps音频码率,必填。单位为 kbps。
      正整数,可选取值:16, 32, 64。
    sample_rate

    类型: number

    音频采样率,必填。单位为 Hz。可选取值:16000, 32000, 44100 和 48000

    channel_num

    类型: number

    音频声道数,必填。
    + 1: 单声道
    + 2: 双声道

    bitrate_kbps

    类型: number

    音频码率,必填。单位为 kbps。
    正整数,可选取值:16, 32, 64。

    PublicStreamVideoParam

    类型: interface

    公共流视频编码参数

    • API

      名称描述
      width公共流视频宽度,必填。单位为 px,范围为 [2, 1920],必须是偶数。
      height公共流视频高度,必填。单位为 px,范围为 [16, 1280],必须是偶数。
      fps公共流视频帧率。必填
      范围:[1, 60]
      bitrate_kpbs视频码率,必填
      范围:[1,10000000]
      单位为 bps
    width

    类型: number

    公共流视频宽度,必填。单位为 px,范围为 [2, 1920],必须是偶数。

    height

    类型: number

    公共流视频高度,必填。单位为 px,范围为 [16, 1280],必须是偶数。

    fps

    类型: number

    公共流视频帧率。必填
    范围:[1, 60]

    bitrate_kpbs

    类型: number

    视频码率,必填
    范围:[1,10000000]
    单位为 bps

    PublicStreamLayoutRegion

    类型: interface

    单个视频流在公共流中的布局信息。
    在多路视频流公共流时,你需要设置每一路视频流在公共流中的布局信息。

    • API

      名称描述
      user_id目标公共流用户的 ID, 不能为空
      room_id跨房间订阅流时,目标流所在的房间 ID, 不能为空
      alternate_image_uri背景图片地址
      x用户视频布局相对画布左侧的偏移量,取值的范围为 [0.0, 1.0)。必填。
      y用户视频布局相对画布顶端的偏移量,取值的范围为 [0.0, 1.0)。必填。
      width用户视频宽度相对画布宽度的比例,取值的范围为 (0.0, 1.0]。必填。
      height用户视频高度相对画布高度的比例,取值的范围为 (0.0, 1.0]。必填。
      alpha透明度,取值范围 [0,255], 0 为全透明,255 为不透明
      z_order用户视频布局在画布中的层级,取值范围 [0,100],0(默认)为底层,100 为顶层。
      stream_type必填。媒体流类型:
      + 0: 普通流(默认设置)
      + 1: 屏幕流
      media_type公共流输出类型。
      render_mode渲染时,视频内容缩放模式,必填。
      source_crop支持对每一路参与公共流的视频进行裁剪。
    user_id

    类型: string

    目标公共流用户的 ID, 不能为空

    room_id

    类型: string

    跨房间订阅流时,目标流所在的房间 ID, 不能为空

    alternate_image_uri

    类型: string

    背景图片地址

    x

    类型: number

    用户视频布局相对画布左侧的偏移量,取值的范围为 [0.0, 1.0)。必填。

    y

    类型: number

    用户视频布局相对画布顶端的偏移量,取值的范围为 [0.0, 1.0)。必填。

    width

    类型: number

    用户视频宽度相对画布宽度的比例,取值的范围为 (0.0, 1.0]。必填。

    height

    类型: number

    用户视频高度相对画布高度的比例,取值的范围为 (0.0, 1.0]。必填。

    alpha

    类型: number

    透明度,取值范围 [0,255], 0 为全透明,255 为不透明

    z_order

    类型: number

    用户视频布局在画布中的层级,取值范围 [0,100],0(默认)为底层,100 为顶层。

    stream_type

    类型: number

    必填。媒体流类型:
    + 0: 普通流(默认设置)
    + 1: 屏幕流

    media_type

    类型: TranscoderContentControlType

    公共流输出类型。

    render_mode

    类型: PublicStreamRenderMode

    渲染时,视频内容缩放模式,必填。

    source_crop

    类型: SourceCrop

    支持对每一路参与公共流的视频进行裁剪。

    PublicStreamRenderMode

    类型: enum

    渲染模式

    • 成员

      属性值描述
      kRenderModeHidden1视窗填满优先。
      视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。
      缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长大于等于视窗对应边长。
      kRenderModeFit2视频帧内容全部显示优先。
      视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将被涂黑。
      缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长小于等于视窗对应边长。
      kRenderModeFill3视频帧自适应画布
      视频帧非等比缩放,直至画布被填满。在此过程中,视频帧的长宽比例可能会发生变化。
    SourceCrop

    类型: interface

    公共流视频裁剪配置

    • API

      名称描述
      LocationX裁剪后得到的视频帧左上角横坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)
      LocationY裁剪后得到的视频帧左上角纵坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)
      WidthProportion裁剪后得到的视频帧宽度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]
      HeightProportion裁剪后得到的视频帧高度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]
    LocationX

    类型: number

    裁剪后得到的视频帧左上角横坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)

    LocationY

    类型: number

    裁剪后得到的视频帧左上角纵坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)

    WidthProportion

    类型: number

    裁剪后得到的视频帧宽度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]

    HeightProportion

    类型: number

    裁剪后得到的视频帧高度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]

    ScreenCaptureSourceInfo

    类型: interface

    屏幕共享对象信息
    startScreenVideoCapture 接口的中的参数类型

    • API

      名称描述
      type共享对象类型,屏幕或应用窗体
      source_id共享对象 ID
      source_name屏幕共享对象的名称
      application共享的应用窗体所属应用的名称
      当共享对象为应用窗体时有效
      primaryMonitor共享的屏幕是否为主屏。
      当共享对象为屏幕时有效
      x矩形区域左上角的 x 坐标
      + 对于多屏幕的场景,不同平台的坐标系原点不同:
      - 对于 Windows 平台,屏幕坐标以主屏左上角为原点 (0, 0),向右向下扩展。
      — 对于 Linux 平台,屏幕坐标以 恰好包住所有显示器的矩形区域的左上角 为原点 (0, 0),向右向下扩展。
      + 对于不同平台,窗口区域不同:
      - 对于 Windows 和 macOS 平台,窗口区域包含系统标题栏。
      - 对于 Linux 平台,窗口区域不包含系统标题栏。
      y共享对象 y 坐标。多显示器的场景下,屏幕坐标系统以主屏左上角为原点 (0, 0),向右向下扩展。
      width共享对象宽度
      height共享对象高度
      pid共享的应用窗体所属应用进程的 pid
      当共享对象为应用窗体时有效
      region_rect屏幕共享对象的坐标。多显示器的场景下,屏幕坐标系统以主屏左上角为原点 (0, 0),向右向下扩展。详见 Rectangle#Rectangle。
    type

    类型: ScreenCaptureSourceType

    共享对象类型,屏幕或应用窗体

    source_id

    类型: number

    共享对象 ID

    source_name

    类型: string

    屏幕共享对象的名称

    application

    类型: string

    共享的应用窗体所属应用的名称
    当共享对象为应用窗体时有效

    primaryMonitor

    类型: boolean

    共享的屏幕是否为主屏。
    当共享对象为屏幕时有效

    x

    类型: number

    矩形区域左上角的 x 坐标
    + 对于多屏幕的场景,不同平台的坐标系原点不同:
    - 对于 Windows 平台,屏幕坐标以主屏左上角为原点 (0, 0),向右向下扩展。
    — 对于 Linux 平台,屏幕坐标以 恰好包住所有显示器的矩形区域的左上角 为原点 (0, 0),向右向下扩展。
    + 对于不同平台,窗口区域不同:
    - 对于 Windows 和 macOS 平台,窗口区域包含系统标题栏。
    - 对于 Linux 平台,窗口区域不包含系统标题栏。

    y

    类型: number

    共享对象 y 坐标。多显示器的场景下,屏幕坐标系统以主屏左上角为原点 (0, 0),向右向下扩展。

    width

    类型: number

    共享对象宽度

    height

    类型: number

    共享对象高度

    pid

    类型: number

    共享的应用窗体所属应用进程的 pid
    当共享对象为应用窗体时有效

    region_rect

    类型: Rectangle

    屏幕共享对象的坐标。多显示器的场景下,屏幕坐标系统以主屏左上角为原点 (0, 0),向右向下扩展。详见 Rectangle#Rectangle。

    ScreenCaptureSourceType

    类型: enum

    屏幕采集对象的类型

    • 成员

      属性值描述
      kScreenCaptureSourceTypeUnknown0类型未知
      kScreenCaptureSourceTypeWindow1应用程序的窗口
      kScreenCaptureSourceTypeScreen2桌面
    Rectangle

    类型: interface

    矩形区域,用于指定屏幕区域
    + 对于多屏幕的场景,不同平台的坐标系原点不同:
    - 对于 Windows 平台,屏幕坐标以主屏左上角为原点 (0, 0),向右向下扩展。
    — 对于 Linux 平台,屏幕坐标以 恰好包住所有显示器的矩形区域的左上角 为原点 (0, 0),向右向下扩展。
    + 对于不同平台,窗口区域不同:
    - 对于 Windows 和 macOS 平台,窗口区域包含系统标题栏。
    - 对于 Linux 平台,窗口区域不包含系统标题栏。

    • API

      名称描述
      x矩形区域左上角的 x 坐标
      y矩形区域左上角的 y 坐标
      width矩形宽度
      height矩形高度
    x

    类型: number

    矩形区域左上角的 x 坐标

    y

    类型: number

    矩形区域左上角的 y 坐标

    width

    类型: number

    矩形宽度

    height

    类型: number

    矩形高度

    ScreenCaptureParameters

    类型: interface

    屏幕共享时,内部采集参数配置

    region_rect

    类型: Rectangle

    采集区域

    capture_mouse_cursor

    类型: MouseCursorCaptureState

    是否采集鼠标状态

    filter_config

    类型: number[]

    屏幕过滤设置,填写不需要采集的窗口 ID

    highlight_config

    类型: HighlightConfig

    采集区域的边框高亮设置

    MouseCursorCaptureState

    类型: enum

    内部采集屏幕视频流时,是否采集鼠标信息

    • 成员

      属性值描述
      kMouseCursorCaptureStateOn0采集鼠标信息
      kMouseCursorCaptureStateOff1不采集鼠标信息
    HighlightConfig

    类型: interface

    屏幕共享时的边框高亮设置

    • API

      名称描述
      enable_highlight是否显示高亮边框,默认显示。
      border_color边框的颜色, 颜色格式为十六进制 ARGB: 0xAARRGGBB, 默认为 0xFF29CCA3
      border_width边框的宽度, 单位:像素,默认为: 4
    enable_highlight

    类型: boolean

    是否显示高亮边框,默认显示。

    border_color

    类型: number

    边框的颜色, 颜色格式为十六进制 ARGB: 0xAARRGGBB, 默认为 0xFF29CCA3

    border_width

    类型: number

    边框的宽度, 单位:像素,默认为: 4

    AudioMixingConfig

    类型: interface

    混音配置

    • API

      名称描述
      type混音播放类型
      play_count混音播放次数,
      + play_count <= 0: 无限循环
      + play_count == 1: 播放一次(默认)
      + play_count > 1: 播放 play_count 次
      position混音时音频文件播放进度条位置,参数为整数,单位为毫秒
      callback_on_progress_interval设置音频文件播放进度回调的时间间隔,单位毫秒,并按照设置的值触发 onAudioMixingPlayingProgress 回调,默认不回调。
      该值应为大于 0 的 10 的倍数,当传入的值不能被 10 整除时,则默认向上取整 10,如设为 52ms 时会默认调整为 60ms。
      传入的值小于等于 0 时,不会触发进度回调。
    type

    类型: AudioMixingType

    混音播放类型

    play_count

    类型: number

    混音播放次数,
    + play_count <= 0: 无限循环
    + play_count == 1: 播放一次(默认)
    + play_count > 1: 播放 play_count 次

    position

    类型: number

    混音时音频文件播放进度条位置,参数为整数,单位为毫秒

    callback_on_progress_interval

    类型: number

    设置音频文件播放进度回调的时间间隔,单位毫秒,并按照设置的值触发 onAudioMixingPlayingProgress 回调,默认不回调。
    该值应为大于 0 的 10 的倍数,当传入的值不能被 10 整除时,则默认向上取整 10,如设为 52ms 时会默认调整为 60ms。
    传入的值小于等于 0 时,不会触发进度回调。

    AudioMixingType

    类型: enum

    混音播放类型

    • 成员

      属性值描述
      kAudioMixingTypePlayout0仅本地播放
      kAudioMixingTypePublish1仅远端播放
      kAudioMixingTypePlayoutAndPublish2本地和远端同时播放
    AudioMixingDualMonoMode

    类型: enum

    混音播放声道类型

    • 成员

      属性值描述
      kAudioMixingDualMonoModeAuto0和音频文件一致
      kAudioMixingDualMonoModeL1只能听到音频文件中左声道的音频
      kAudioMixingDualMonoModeR2只能听到音频文件中右声道的音频
      kAudioMixingDualMonoModeMix3能同时听到音频文件中左右声道的音频
    RTCASRConfig

    类型: interface

    使用自动语音识别服务所需校验信息

    app_id

    类型: string

    应用 ID

    user_id

    类型: string

    用户 ID

    authorization_type

    类型: number

    鉴权方式
    + 0: Token 鉴权
    + 1: Signature 鉴权

    access_token

    类型: string

    访问令牌

    secret_key

    类型: string

    私钥。Signature 鉴权模式下不能为空,token 鉴权模式下为空。参看关于鉴权

    cluster

    类型: string

    场景信息,参看业务集群

    StreamIndex

    类型: enum

    流属性

    • 成员

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

    类型: interface

    本地录制参数配置

    • API

      名称描述
      dir_path录制文件保存的绝对路径。你需要指定一个有读写权限的合法路径。
      file_type录制存储文件格式
      + aac : 0
      + mp4 : 1
    dir_path

    类型: string

    录制文件保存的绝对路径。你需要指定一个有读写权限的合法路径。

    file_type

    类型: number

    录制存储文件格式
    + aac : 0
    + mp4 : 1

    RecordingType

    类型: enum

    • 成员

      属性值描述
      kRecordAudioOnly0只录制音频
      kRecordVideoOnly1只录制视频
      kRecordVideoAndAudio2同时录制音频和视频
    RemoteUserPriority

    类型: enum

    远端用户优先级,在性能不足需要回退时,会优先回退优先级低的用户的音视频流

    • 成员

      属性值描述
      kRemoteUserPriorityLow0用户优先级为低(默认值)
      kRemoteUserPriorityMedium100用户优先级为正常
      kRemoteUserPriorityHigh200用户优先级为高
    VirtualBackgroundSource

    类型: interface

    虚拟背景对象。

    • API

      名称描述
      source_type虚拟背景类型
      source_path自定义背景图片的绝对路径。
      支持的格式为 jpg、jpeg、png。
      图片分辨率超过 1080P 时,图片会被等比缩放至和视频一致。
      图片和视频宽高比一致时,图片会被直接缩放至和视频一致。
      图片和视频长宽比不一致时,为保证图片内容不变形,图片按短边缩放至与视频帧一致,使图片填满视频帧,对多出的高或宽进行剪裁。
      自定义图片带有局部透明效果时,透明部分由黑色代替。
      source_color纯色背景使用的颜色。
    source_type

    类型: VirtualBackgroundSourceType

    虚拟背景类型

    source_path

    类型: string

    自定义背景图片的绝对路径。
    支持的格式为 jpg、jpeg、png。
    图片分辨率超过 1080P 时,图片会被等比缩放至和视频一致。
    图片和视频宽高比一致时,图片会被直接缩放至和视频一致。
    图片和视频长宽比不一致时,为保证图片内容不变形,图片按短边缩放至与视频帧一致,使图片填满视频帧,对多出的高或宽进行剪裁。
    自定义图片带有局部透明效果时,透明部分由黑色代替。

    source_color

    类型: number

    纯色背景使用的颜色。

    VirtualBackgroundSourceType

    类型: enum

    虚拟背景类型。

    • 成员

      属性值描述
      kVirtualBackgroundSourceColor0使用纯色背景替换视频原有背景。
      kVirtualBackgroundSourceImage1使用自定义图片替换视频原有背景。
    RTCWatermarkConfig

    类型: interface

    水印参数

    visibleInPreview

    类型: boolean

    水印是否在视频预览中可见,默认可见。

    positionInLandscapeMode

    类型: ByteWatermark

    横屏时的水印位置和大小

    positionInPortraitMode

    类型: ByteWatermark

    视频编码的方向模式为竖屏时的水印位置和大小

    ByteWatermark

    类型: interface

    水印图片相对视频流的位置和大小。

    • API

      名称描述
      x水印图片相对视频流左上角的横向偏移与视频流宽度的比值,取值范围为 [0,1)。
      y水印图片相对视频流左上角的纵向偏移与视频流高度的比值,取值范围为 [0,1)。
      width水印图片宽度与视频流宽度的比值,取值范围 [0,1)。
      height水印图片高度与视频流高度的比值,取值范围为 [0,1)。
    x

    类型: number

    水印图片相对视频流左上角的横向偏移与视频流宽度的比值,取值范围为 [0,1)。

    y

    类型: number

    水印图片相对视频流左上角的纵向偏移与视频流高度的比值,取值范围为 [0,1)。

    width

    类型: number

    水印图片宽度与视频流宽度的比值,取值范围 [0,1)。

    height

    类型: number

    水印图片高度与视频流高度的比值,取值范围为 [0,1)。

    RenderOptions

    类型: interface

    本地渲染选项

    • API

      名称描述
      render_mode渲染时,视频内容缩放模式
      mirror是否镜像渲染
    render_mode

    类型: RenderMode

    渲染时,视频内容缩放模式

    mirror

    类型: boolean

    是否镜像渲染

    RenderMode

    类型: enum

    渲染时,视频内容缩放模式

    • 成员

      属性值描述
      FIT1视频帧内容全部显示优先。
      视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将被涂黑。
      缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长小于等于视窗对应边长。
      HIDDEN2视窗填满优先。
      视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。
      缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长大于等于视窗对应边长。
    RtcRoomStats

    类型: interface

    通话相关的统计信息

    • API

      名称描述
      txLostrate当前应用的上行丢包率,取值范围为 [0, 1]。
      rxLostrate当前应用的下行丢包率,取值范围为 [0, 1]。
      rtt客户端到服务端数据传输的往返时延(单位 ms)
      duration进房到退房之间累计时长,单位为 s
      tx_bytes本地用户的总发送字节数 (bytes),累计值
      rx_bytes本地用户的总接收字节数 (bytes),累计值
      tx_kbitrate发送码率 (kbps),获取该数据时的瞬时值
      rx_kbitrate接收码率 (kbps),获取该数据时的瞬时值
      rx_audio_kbitrate音频接收码率 (kbps),获取该数据时的瞬时值
      tx_audio_kbitrate音频发送码率 (kbps),获取该数据时的瞬时值
      rx_video_kbitrate视频接收码率 (kbps),获取该数据时的瞬时值
      tx_video_kbitrate视频发送码率 (kbps),获取该数据时的瞬时值
      rx_screen_kbitrate屏幕接收码率,获取该数据时的瞬时值,单位为 Kbps
      tx_screen_kbitrate屏幕发送码率,获取该数据时的瞬时值,单位为 Kbps
      user_count当前房间内的用户人数
      tx_jitter系统上行网络抖动(ms)
      rx_jitter系统下行网络抖动(ms)
      tx_cellular_kbitrate蜂窝路径发送的码率 (kbps),获取该数据时的瞬时值
      rx_cellular_kbitrate蜂窝路径接收码率 (kbps),获取该数据时的瞬时值
    txLostrate

    类型: number

    当前应用的上行丢包率,取值范围为 [0, 1]。

    rxLostrate

    类型: number

    当前应用的下行丢包率,取值范围为 [0, 1]。

    rtt

    类型: number

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

    duration

    类型: number

    进房到退房之间累计时长,单位为 s

    tx_bytes

    类型: number

    本地用户的总发送字节数 (bytes),累计值

    rx_bytes

    类型: number

    本地用户的总接收字节数 (bytes),累计值

    tx_kbitrate

    类型: number

    发送码率 (kbps),获取该数据时的瞬时值

    rx_kbitrate

    类型: number

    接收码率 (kbps),获取该数据时的瞬时值

    rx_audio_kbitrate

    类型: number

    音频接收码率 (kbps),获取该数据时的瞬时值

    tx_audio_kbitrate

    类型: number

    音频发送码率 (kbps),获取该数据时的瞬时值

    rx_video_kbitrate

    类型: number

    视频接收码率 (kbps),获取该数据时的瞬时值

    tx_video_kbitrate

    类型: number

    视频发送码率 (kbps),获取该数据时的瞬时值

    rx_screen_kbitrate

    类型: number

    屏幕接收码率,获取该数据时的瞬时值,单位为 Kbps

    tx_screen_kbitrate

    类型: number

    屏幕发送码率,获取该数据时的瞬时值,单位为 Kbps

    user_count

    类型: number

    当前房间内的用户人数

    tx_jitter

    类型: number

    系统上行网络抖动(ms)

    rx_jitter

    类型: number

    系统下行网络抖动(ms)

    tx_cellular_kbitrate

    类型: number

    蜂窝路径发送的码率 (kbps),获取该数据时的瞬时值

    rx_cellular_kbitrate

    类型: number

    蜂窝路径接收码率 (kbps),获取该数据时的瞬时值

    UserOfflineReasonType

    类型: enum

    用户离线原因。
    房间内的远端用户离开房间时,本端用户会收到 onUserLeave 回调通知,此枚举类型为回调的用户离线原因。

    • 成员

      属性值描述
      kUserOfflineReasonQuit0远端用户调用 leaveRoom 方法退出房间。
      kUserOfflineReasonDropped1远端用户因网络等原因掉线。
      kUserOfflineReasonSwitchToInvisible2远端用户切换至隐身状态。
      kUserOfflineReasonKickedByAdmin3远端用户被踢出出房间。
      因调用踢出用户的 OpenAPI,远端用户被踢出房间。
    AVSyncState

    类型: enum

    音视频同步状态

    • 成员

      属性值描述
      kAVSyncStateAVStreamSyncBegin0音视频开始同步
      kAVSyncStateAudioStreamRemove1音视频同步过程中音频移除,但不影响当前的同步关系
      kAVSyncStateVdieoStreamRemove2音视频同步过程中视频移除,但不影响当前的同步关系
    LocalStreamStats

    类型: interface

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

    • API

      名称描述
      audio_stats本地设备发送音频流的统计信息
      video_stats本地设备发送视频流的统计信息
      is_screen所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
    audio_stats

    类型: LocalAudioStats

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

    video_stats

    类型: LocalVideoStats

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

    is_screen

    类型: boolean

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

    LocalAudioStats

    类型: interface

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

    • API

      名称描述
      audio_loss_rate音频丢包率。此次统计周期内的音频上行丢包率,单位为 % ,取值范围为 [0, 1]。
      send_kbitrate发送码率。此次统计周期内的音频发送码率,单位为 kbps 。
      record_sample_rate采集采样率。此次统计周期内的音频采集采样率信息,单位为 Hz 。
      stats_interval统计间隔。此次统计周期的间隔,单位为 ms 。
      此字段用于设置回调的统计周期,默认设置为 2s 。
      rtt往返时延。单位为 ms 。
      num_channels音频声道数。
      sent_sample_rate音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。
      jitter音频上行网络抖动,单位为 ms 。
    audio_loss_rate

    类型: number

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

    send_kbitrate

    类型: number

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

    record_sample_rate

    类型: number

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

    stats_interval

    类型: number

    统计间隔。此次统计周期的间隔,单位为 ms 。
    此字段用于设置回调的统计周期,默认设置为 2s 。

    rtt

    类型: number

    往返时延。单位为 ms 。

    num_channels

    类型: number

    音频声道数。

    sent_sample_rate

    类型: number

    音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。

    jitter

    类型: number

    音频上行网络抖动,单位为 ms 。

    LocalVideoStats

    类型: interface

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

    • API

      名称描述
      sent_kbitrate发送码率。此次统计周期内的视频发送码率,单位为 kbps 。
      input_frame_rate采集帧率。此次统计周期内的视频采集帧率,单位为 fps 。
      sent_frame_rate发送帧率。此次统计周期内的视频发送帧率,单位为 fps 。
      encoder_output_frame_rate编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。
      renderer_output_frame_rate本地渲染帧率。此次统计周期内的本地视频渲染帧率,单位为 fps 。
      stats_interval统计间隔。此次统计周期的间隔,单位为 ms 。
      此字段用于设置回调的统计周期,默认设置为 2s 。
      video_loss_rate视频丢包率。此次统计周期内的视频上行丢包率,取值范围为 [0,1] 。
      rtt往返时延,单位为 ms 。
      encoded_bitrate视频编码码率。此次统计周期内的视频编码码率,单位为 kbps 。
      encoded_frame_width实际发送的分辨率最大的视频流的视频编码宽度,单位为 px 。
      encoded_frame_height实际发送的分辨率最大的视频流的视频编码高度,单位为 px 。
      encoded_frame_count此次统计周期内实际发送的分辨率最大的视频流的发送的视频帧总数。
      codec_type视频的编码类型
      is_screen所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
      jitter视频上行网络抖动,单位为 ms 。
    sent_kbitrate

    类型: number

    发送码率。此次统计周期内的视频发送码率,单位为 kbps 。

    input_frame_rate

    类型: number

    采集帧率。此次统计周期内的视频采集帧率,单位为 fps 。

    sent_frame_rate

    类型: number

    发送帧率。此次统计周期内的视频发送帧率,单位为 fps 。

    encoder_output_frame_rate

    类型: number

    编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。

    renderer_output_frame_rate

    类型: number

    本地渲染帧率。此次统计周期内的本地视频渲染帧率,单位为 fps 。

    stats_interval

    类型: number

    统计间隔。此次统计周期的间隔,单位为 ms 。
    此字段用于设置回调的统计周期,默认设置为 2s 。

    video_loss_rate

    类型: number

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

    rtt

    类型: number

    往返时延,单位为 ms 。

    encoded_bitrate

    类型: number

    视频编码码率。此次统计周期内的视频编码码率,单位为 kbps 。

    encoded_frame_width

    类型: number

    实际发送的分辨率最大的视频流的视频编码宽度,单位为 px 。

    encoded_frame_height

    类型: number

    实际发送的分辨率最大的视频流的视频编码高度,单位为 px 。

    encoded_frame_count

    类型: number

    此次统计周期内实际发送的分辨率最大的视频流的发送的视频帧总数。

    codec_type

    类型: VideoCodecType

    视频的编码类型

    is_screen

    类型: boolean

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

    jitter

    类型: number

    视频上行网络抖动,单位为 ms 。

    VideoCodecType

    类型: enum

    视频的编码类型

    • 成员

      属性值描述
      kVideoCodecUnknown0未知类型
      kVideoCodecH2641标准H264
    RemoteStreamStats

    类型: interface

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

    • API

      名称描述
      uid用户 ID 。音频来源的远端用户 ID 。
      audio_stats远端音频流的统计信息
      video_stats远端视频流的统计信息
      is_screen所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
    uid

    类型: string

    用户 ID 。音频来源的远端用户 ID 。

    audio_stats

    类型: RemoteAudioStats

    远端音频流的统计信息

    video_stats

    类型: RemoteVideoStats

    远端视频流的统计信息

    is_screen

    类型: boolean

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

    RemoteAudioStats

    类型: interface

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

    • API

      名称描述
      audio_loss_rate音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
      received_kbitrate接收码率。统计周期内的音频接收码率,单位为 kbps 。
      stall_count音频卡顿次数。统计周期内的卡顿次数。
      stall_duration音频卡顿时长。统计周期内的卡顿时长,单位为 ms 。
      e2e_delay用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。
      playout_sample_rate播放采样率。统计周期内的音频播放采样率信息,单位为 Hz 。
      stats_interval统计间隔。此次统计周期的间隔,单位为 ms 。
      rtt客户端到服务端数据传输的往返时延,单位为 ms。
      total_rtt发送端——服务端——接收端全链路数据传输往返时延。单位为 ms 。
      quality远端用户发送的音频流质量。
      + 0: 网络质量未知。
      + 1: 网络质量极好。
      + 2: 主观感觉和 kNetworkQualityExcellent 差不多,但码率可能略低。
      + 3: 主观感受有瑕疵但不影响沟通。
      + 4: 勉强能沟通但不顺畅。
      + 5: 网络质量非常差,基本不能沟通。
      jitter_buffer_delay因引入 jitter buffer 机制导致的延时。单位为 ms 。
      num_channels音频声道数。
      received_sample_rate音频接收采样率。统计周期内接收到的远端音频采样率信息,单位为 Hz 。
      frozen_rate远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。音频有效时长是指远端用户进房发布音频流后,除停止发送音频流和禁用音频模块之外的音频时长。
      concealed_samples音频 PLC 样点总个数。
      concealment_eventPLC 累计次数。
      dec_sample_rate音频解码采样率。统计周期内的音频解码采样率信息,单位为 Hz 。
      dec_duration解码时长。对此次统计周期内接收的远端音频流进行解码的总耗时,单位为 s 。
      jitter音频下行网络抖动,单位为 ms 。
    audio_loss_rate

    类型: number

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

    received_kbitrate

    类型: number

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

    stall_count

    类型: number

    音频卡顿次数。统计周期内的卡顿次数。

    stall_duration

    类型: number

    音频卡顿时长。统计周期内的卡顿时长,单位为 ms 。

    e2e_delay

    类型: number

    用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。

    playout_sample_rate

    类型: number

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

    stats_interval

    类型: number

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

    rtt

    类型: number

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

    total_rtt

    类型: number

    发送端——服务端——接收端全链路数据传输往返时延。单位为 ms 。

    quality

    类型: number

    远端用户发送的音频流质量。
    + 0: 网络质量未知。
    + 1: 网络质量极好。
    + 2: 主观感觉和 kNetworkQualityExcellent 差不多,但码率可能略低。
    + 3: 主观感受有瑕疵但不影响沟通。
    + 4: 勉强能沟通但不顺畅。
    + 5: 网络质量非常差,基本不能沟通。

    jitter_buffer_delay

    类型: number

    因引入 jitter buffer 机制导致的延时。单位为 ms 。

    num_channels

    类型: number

    音频声道数。

    received_sample_rate

    类型: number

    音频接收采样率。统计周期内接收到的远端音频采样率信息,单位为 Hz 。

    frozen_rate

    类型: number

    远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。音频有效时长是指远端用户进房发布音频流后,除停止发送音频流和禁用音频模块之外的音频时长。

    concealed_samples

    类型: number

    音频 PLC 样点总个数。

    concealment_event

    类型: number

    PLC 累计次数。

    dec_sample_rate

    类型: number

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

    dec_duration

    类型: number

    解码时长。对此次统计周期内接收的远端音频流进行解码的总耗时,单位为 s 。

    jitter

    类型: number

    音频下行网络抖动,单位为 ms 。

    RemoteVideoStats

    类型: interface

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

    • API

      名称描述
      width视频宽度
      height视频高度
      video_loss_rate视频丢包率。统计周期内的视频下行丢包率,单位为 % ,取值范围:[0,1] 。
      received_kbitrate接收码率。统计周期内的视频接收码率,单位为 kbps 。
      decoder_output_frame_rate解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。
      renderer_output_frame_rate渲染帧率。统计周期内的视频渲染帧率,单位 fps 。
      stall_count卡顿次数。统计周期内的卡顿次数。
      stall_duration卡顿时长。统计周期内的视频卡顿总时长。单位 ms 。
      e2eDelay用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。
      is_screen所属用户的媒体流是否为屏幕流。你可以知道当前数据来自主流还是屏幕流。
      stats_interval统计间隔,此次统计周期的间隔,单位为 ms 。
      rtt往返时延,单位为 ms 。
      frozen_rate远端用户在进房后发生视频卡顿的累计时长占视频总有效时长的百分比(%)。视频有效时长是指远端用户进房发布视频流后,除停止发送视频流和禁用视频模块之外的视频时长。
      codec_type视频的编码类型
      video_index对应多种分辨率的流的下标
      jitter视频下行网络抖动,单位为 ms 。
    width

    类型: number

    视频宽度

    height

    类型: number

    视频高度

    video_loss_rate

    类型: number

    视频丢包率。统计周期内的视频下行丢包率,单位为 % ,取值范围:[0,1] 。

    received_kbitrate

    类型: number

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

    decoder_output_frame_rate

    类型: number

    解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。

    renderer_output_frame_rate

    类型: number

    渲染帧率。统计周期内的视频渲染帧率,单位 fps 。

    stall_count

    类型: number

    卡顿次数。统计周期内的卡顿次数。

    stall_duration

    类型: number

    卡顿时长。统计周期内的视频卡顿总时长。单位 ms 。

    e2eDelay

    类型: number

    用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。

    is_screen

    类型: number

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

    stats_interval

    类型: number

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

    • 注意

      此字段用于设置回调的统计周期,目前设置为 2s 。

    rtt

    类型: number

    往返时延,单位为 ms 。

    frozen_rate

    类型: number

    远端用户在进房后发生视频卡顿的累计时长占视频总有效时长的百分比(%)。视频有效时长是指远端用户进房发布视频流后,除停止发送视频流和禁用视频模块之外的视频时长。

    codec_type

    类型: VideoCodecType

    视频的编码类型

    video_index

    类型: number

    对应多种分辨率的流的下标

    jitter

    类型: number

    视频下行网络抖动,单位为 ms 。

    StreamRemoveReason

    类型: enum

    房间内远端流被移除的原因。

    • 成员

      属性值描述
      kStreamRemoveReasonUnpublish0远端用户停止发布流。
      kStreamRemoveReasonPublishFailed1远端用户发布流失败。
      kStreamRemoveReasonKeepLiveFailed2保活失败。
      kStreamRemoveReasonClientDisconnected3远端用户断网。
      kStreamRemoveReasonRepublish4远端用户重新发布流。
      kStreamRemoveReasonOther5其他原因。
    SubscribeState

    类型: enum

    订阅媒体流状态

    • 成员

      属性值描述
      kSubscribeStateSuccess0订阅/取消订阅流成功
      kSubscribeStateFailedNotInRoom1订阅/取消订阅流失败,本地用户未在房间中
      kSubscribeStateFailedStreamNotFound2订阅/取消订阅流失败,房间内未找到指定的音视频流
      kSubscribeStateFailedOverLimit3超过订阅流数上限
    SubscribeConfig

    类型: interface

    手动订阅流的配置信息。

    • API

      名称描述
      is_screen是否是屏幕流,默认为否。
      sub_video是否订阅视频。
      sub_audio是否订阅音频。
      video_index订阅的视频流分辨率下标。
      用户可以通过调用 setVideoEncoderConfig 方法在一路流中发布多个不同分辨率的视频。因此订阅流时,需要指定订阅的具体分辨率。此参数即用于指定需订阅的分辨率的下标,默认值为 0 。
      priority远端用户的需求优先级,0 为默认值。
      + 0: 默认,用户优先级为低
      + 100: 用户优先级为正常
      + 200: 用户优先级为高
      当开启了订阅流回退选项功能(详见 setSubscribeFallbackOption 方法),弱网或性能不足时会优先保证收到的高优先级用户的流的质量。
      svc_layer远端用户的时域分层,0 为默认值。
      仅码流支持 SVC 特性时可以生效。
      framerate期望订阅的最高帧率,单位:fps,默认值为 0,设为大于 0 的值时开始生效。
      当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。
      仅码流支持 SVC 分级编码特性时方可生效。
      sub_width用户通过指定 UI 对应的最合适的流的宽度,单位:px
      sub_height用户通过指定 UI 对应的最合适的流的高度,单位:px
    is_screen

    类型: boolean

    是否是屏幕流,默认为否。

    sub_video

    类型: boolean

    是否订阅视频。

    sub_audio

    类型: boolean

    是否订阅音频。

    video_index

    类型: number

    订阅的视频流分辨率下标。
    用户可以通过调用 setVideoEncoderConfig 方法在一路流中发布多个不同分辨率的视频。因此订阅流时,需要指定订阅的具体分辨率。此参数即用于指定需订阅的分辨率的下标,默认值为 0 。

    priority

    类型: number

    远端用户的需求优先级,0 为默认值。
    + 0: 默认,用户优先级为低
    + 100: 用户优先级为正常
    + 200: 用户优先级为高
    当开启了订阅流回退选项功能(详见 setSubscribeFallbackOption 方法),弱网或性能不足时会优先保证收到的高优先级用户的流的质量。

    svc_layer

    类型: number

    远端用户的时域分层,0 为默认值。
    仅码流支持 SVC 特性时可以生效。

    framerate

    类型: number

    期望订阅的最高帧率,单位:fps,默认值为 0,设为大于 0 的值时开始生效。
    当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。
    仅码流支持 SVC 分级编码特性时方可生效。

    sub_width

    类型: number

    用户通过指定 UI 对应的最合适的流的宽度,单位:px

    sub_height

    类型: number

    用户通过指定 UI 对应的最合适的流的高度,单位:px

    ForwardStreamStateInfo

    类型: interface

    跨房间转发媒体流过程中的不同目标房间的状态和错误信息

    • API

      名称描述
      room_id跨房间转发媒体流过程中目标房间 ID
      空字符串代表所有目标房间
      state跨房间转发媒体流过程中该目标房间的状态、
      error跨房间转发媒体流过程中该目标房间抛出的错误码
    room_id

    类型: string

    跨房间转发媒体流过程中目标房间 ID
    空字符串代表所有目标房间

    state

    类型: ForwardStreamState

    跨房间转发媒体流过程中该目标房间的状态、

    error

    类型: ForwardStreamError

    跨房间转发媒体流过程中该目标房间抛出的错误码

    ForwardStreamState

    类型: enum

    跨房间转发媒体流过程中的不同目标房间的状态和错误信息

    • 成员

      属性值描述
      kForwardStreamStateIdle0空闲状态
      + 成功调用 stopForwardStreamToRooms 后,所有目标房间为空闲状态。
      + 成功调用 updateForwardStreamToRooms 减少目标房间后,本次减少的目标房间为空闲状态。
      kForwardStreamStateSuccess1开始转发
      + 调用 startForwardStreamToRooms 成功向所有房间开始转发媒体流后,返回此状态。
      + 调用 updateForwardStreamToRooms 后,成功向新增目标房间开始转发媒体流后,返回此状态。
      kForwardStreamStateFailure2转发失败,失败详情参考 ForwardStreamError
      调用 startForwardStreamToRooms 或 updateForwardStreamToRooms 后,如遇转发失败,返回此状态。
    ForwardStreamEventInfo

    类型: interface

    跨房间转发媒体流过程中的不同目标房间发生的事件

    • API

      名称描述
      room_id跨房间转发媒体流过程中的发生该事件的目标房间 ID
      空字符串代表所有目标房间
      event跨房间转发媒体流过程中该目标房间发生的事件
    room_id

    类型: string

    跨房间转发媒体流过程中的发生该事件的目标房间 ID
    空字符串代表所有目标房间

    event

    类型: ForwardStreamEvent

    跨房间转发媒体流过程中该目标房间发生的事件

    ForwardStreamEvent

    类型: enum

    媒体流跨房间转发事件

    • 成员

      属性值描述
      kForwardStreamEventDisconnected0本端与服务器网络连接断开,暂停转发。
      kForwardStreamEventConnected1本端与服务器网络连接恢复,转发服务连接成功。
      kForwardStreamEventInterrupt2转发中断。转发过程中,如果相同 user_id 的用户进入目标房间,转发中断。
      kForwardStreamEventDstRoomUpdated3目标房间已更新,由 updateForwardStreamToRooms 触发。
      kForwardStreamEventUnExpectAPICall4API 调用时序错误。例如,在调用 startForwardStreamToRooms 之前调用 updateForwardStreamToRooms 。
    NetworkQualityStats

    类型: interface

    上行/下行网络质量

    • API

      名称描述
      uid用户 id
      fraction_lost本端的上行/下行的丢包率,范围 [0.0,1.0]
      当 uid 为本地用户时,代表发布流的上行丢包率。
      当 uid 为远端用户时,代表接收所有订阅流的下行丢包率。
      rtt当 uid 为本地用户时有效,客户端到服务端的往返延时(RTT),单位:ms
      rx_quality下行网络质量分。范围 [0,5],分数越高网络质量越差。
      total_bandwidth本端的音视频 RTP 包 2 秒内的平均传输速率,单位:bps
      当 uid 为本地用户时,代表发送速率。
      当 uid 为远端用户时,代表所有订阅流的接收速率。
      tx_quality上行网络质量分。范围 [0,5],分数越高网络质量越差。
    uid

    类型: string

    用户 id

    fraction_lost

    类型: number

    本端的上行/下行的丢包率,范围 [0.0,1.0]
    当 uid 为本地用户时,代表发布流的上行丢包率。
    当 uid 为远端用户时,代表接收所有订阅流的下行丢包率。

    rtt

    类型: number

    当 uid 为本地用户时有效,客户端到服务端的往返延时(RTT),单位:ms

    rx_quality

    类型: NetworkQuality

    下行网络质量分。范围 [0,5],分数越高网络质量越差。

    total_bandwidth

    类型: number

    本端的音视频 RTP 包 2 秒内的平均传输速率,单位:bps
    当 uid 为本地用户时,代表发送速率。
    当 uid 为远端用户时,代表所有订阅流的接收速率。

    tx_quality

    类型: NetworkQuality

    上行网络质量分。范围 [0,5],分数越高网络质量越差。

    NetworkQuality

    类型: enum

    媒体流网络质量。

    • 成员

      属性值描述
      kNetworkQualityUnknown0网络质量未知。
      kNetworkQualityExcellent1网络质量极好。
      kNetworkQualityGood2主观感觉和 kNetworkQualityExcellent 差不多,但码率可能略低。
      kNetworkQualityPoor3主观感受有瑕疵但不影响沟通。
      kNetworkQualityBad4勉强能沟通但不顺畅。
      kNetworkQualityVbad5网络质量非常差,基本不能沟通。
    VideoFrameInfo

    类型: interface

    视频帧信息

    • API

      名称描述
      width视频帧的宽度(像素)
      height视频帧的高度(像素)
      rotation视频帧顺时针旋转角度。
    width

    类型: number

    视频帧的宽度(像素)

    height

    类型: number

    视频帧的高度(像素)

    rotation

    类型: VideoRotation

    视频帧顺时针旋转角度。

    VideoRotation

    类型: enum

    视频旋转信息,枚举类型,定义了以 90 度为间隔的四种旋转模式。

    • 成员

      属性值描述
      kVideoRotation00顺时针旋转 0 度
      kVideoRotation9090顺时针旋转 90 度
      kVideoRotation180180顺时针旋转 180 度
      kVideoRotation270270顺时针旋转 270 度
    IVideoFrame

    类型: interface

    设置视频帧

    channel_id

    类型: string

    房间 ID

    user_id

    类型: string

    用户 ID

    plane_y

    类型: Uint8Array

    视频数据缓冲区 Y

    plane_u

    类型: Uint8Array

    视频数据缓冲区 U

    plane_v

    类型: Uint8Array

    视频数据缓冲区 V

    width

    类型: number

    视频分辨率宽度,单位:像素

    height

    类型: number

    视频分辨率高度,单位:像素

    plane_size_y

    类型: number

    视频数据缓冲区 Y 大小

    plane_size_u

    类型: number

    视频数据缓冲区 U 大小

    plane_size_v

    类型: number

    视频数据缓冲区 V 大小

    format

    类型: number

    视频帧数据格式

    rotation

    类型: number

    视频帧旋转角度

    public_stream_id

    类型: number

    AudioMixingState

    类型: enum

    音频混音文件播放状态。

    • 成员

      属性值描述
      kAudioMixingStatePreloaded0混音已加载
      kAudioMixingStatePlaying1混音正在播放
      kAudioMixingStatePaused2混音暂停
      kAudioMixingStateStopped3混音停止
      kAudioMixingStateFailed4混音播放失败
      kAudioMixingStateFinished5混音播放结束
    ConnectionState

    类型: enum

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

    • 成员

      属性值描述
      kConnectionStateDisconnected1连接断开。
      kConnectionStateConnecting2首次连接,正在连接中。
      kConnectionStateConnected3涵盖了以下情况:
      + 首次连接时,10秒连接不成功;
      + 连接成功后,断连 10 秒。自动重连中。
      kConnectionStateReconnecting4涵盖了以下情况:
      + 首次连接时,10秒连接不成功;
      + 连接成功后,断连 10 秒。自动重连中。
      kConnectionStateReconnected5连接断开后重连成功。
      kConnectionStateLost6处于 kConnectionStateDisconnected 状态超过 10 秒,且期间重连未成功。SDK 仍将继续尝试重连。
    NetworkType

    类型: enum

    SDK 网络连接类型。

    • 成员

      属性值描述
      kNetworkTypeUnknown-1网络连接类型未知。
      kNetworkTypeDisconnected0网络连接已断开。
      kNetworkTypeLAN1网络连接类型为 LAN 。
      kNetworkTypeWIFI2网络连接类型为 Wi-Fi(包含热点)。
      kNetworkTypeMobile2G3网络连接类型为 2G 移动网络。
      kNetworkTypeMobile3G4网络连接类型为 3G 移动网络。
      kNetworkTypeMobile4G5网络连接类型为 4G 移动网络。
      kNetworkTypeMobile5G6网络连接类型为 5G 移动网络。
    PerformanceAlarmMode

    类型: enum

    是否开启发布性能回退

    • 成员

      属性值描述
      kPerformanceAlarmModeNormal0未开启发布性能回退
      kPerformanceAlarmModeSimulcast1已开启发布性能回退
    PerformanceAlarmReason

    类型: enum

    onPerformanceAlarms 告警的原因

    • 成员

      属性值描述
      kPerformanceAlarmReasonBandwidthFallbacked0网络原因差,造成了发送性能回退。仅在开启发送性能回退时,会收到此原因。
      kPerformanceAlarmReasonBandwidthResumed1网络性能恢复,发送性能回退恢复。仅在开启发送性能回退时,会收到此原因。
      kPerformanceAlarmReasonPerformanceFallbacked2如果未开启发送性能回退,收到此告警时,意味着性能不足;如果开启了发送性能回退,收到此告警时,意味着性能不足,且已发生发送性能回退。
      kPerformanceAlarmReasonPerformanceResumed3如果未开启发送性能回退,收到此告警时,意味着性能不足已恢复; 如果开启了发送性能回退,收到此告警时,意味着性能不足已恢复,且已发生发送性能回退恢复。
    SourceWantedData

    类型: interface

    • API

      名称描述
      width

      未开启发布回退时,此值表示推荐的视频输入宽度,当回退模式为大小流模式时,表示当前推流的最大宽度
      heigth如果未开启发送性能回退,此值表示推荐的视频输入高度;

      如果开启了发送性能回退,此值表示当前推流的最大高度。
      frame_rate如果未开启发送性能回退,此值表示推荐的视频输入帧率,单位 fps;

      如果开启了发送性能回退,此值表示当前推流的最大帧率,单位 fps。
    width

    类型: number



    未开启发布回退时,此值表示推荐的视频输入宽度,当回退模式为大小流模式时,表示当前推流的最大宽度

    heigth

    类型: number

    如果未开启发送性能回退,此值表示推荐的视频输入高度;

    如果开启了发送性能回退,此值表示当前推流的最大高度。

    frame_rate

    类型: number

    如果未开启发送性能回退,此值表示推荐的视频输入帧率,单位 fps;

    如果开启了发送性能回退,此值表示当前推流的最大帧率,单位 fps。

    SysStats

    类型: interface

    App 使用的 cpu 和内存信息。
    信息由 SDK 周期性(2s)地通过 onSysStats 回调通知给用户。

    cpu_cores

    类型: number

    当前系统 CPU 核数

    cpu_app_usage

    类型: number

    当前应用的 cpu 使用率,取值范围为 [0, 1]。

    cpu_total_usage

    类型: number

    当前系统的 cpu 使用率,取值范围为 [0, 1]。

    memory_usage

    类型: number

    当前应用的内存使用量(单位 MB)

    full_memory

    类型: number

    全量内存(单位字节)

    total_memory_usage

    类型: number

    系统已使用内存(单位字节)

    free_memory

    类型: number

    空闲可分配内存(单位字节)

    memory_ratio

    类型: number

    当前应用的内存使用率(单位 %)

    total_memory_ratio

    类型: number

    系统内存使用率(单位 %)

    RemoteStreamKey

    类型: interface

    远端流信息

    • API

      名称描述
      room_id媒体流所在房间的房间 ID。
      如果此媒体流是通过 startForwardStreamToRooms 转发到你所在房间的媒体流时,你应将房间 ID 设置为你所在的房间 ID。
      user_id用户 ID
      stream_index流属性,主流或屏幕流。
    room_id

    类型: string

    媒体流所在房间的房间 ID。
    如果此媒体流是通过 startForwardStreamToRooms 转发到你所在房间的媒体流时,你应将房间 ID 设置为你所在的房间 ID。

    user_id

    类型: string

    用户 ID

    stream_index

    类型: StreamIndex

    流属性,主流或屏幕流。

    RemoteStreamSwitch

    类型: interface

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

    • API

      名称描述
      uid订阅的音视频流的发布者的用户 ID。
      is_screen是否是屏幕流。
      before_video_index流切换前本地用户订阅的视频流的分辨率对应的索引。
      after_video_index流切换后本地用户订阅的视频流的分辨率对应的索引。
      before_enable流切换前是否有视频流。
      after_enable流切换后是否有视频流。
      reason触发流回退的原因
    uid

    类型: string

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

    is_screen

    类型: boolean

    是否是屏幕流。

    before_video_index

    类型: number

    流切换前本地用户订阅的视频流的分辨率对应的索引。

    after_video_index

    类型: number

    流切换后本地用户订阅的视频流的分辨率对应的索引。

    before_enable

    类型: boolean

    流切换前是否有视频流。

    after_enable

    类型: boolean

    流切换后是否有视频流。

    reason

    类型: FallbackOrRecoverReason

    触发流回退的原因

    FallbackOrRecoverReason

    类型: enum

    远端订阅流发生回退或恢复的原因

    • 成员

      属性值描述
      kFallbackOrRecoverReasonUnknown-1其他原因,非带宽和性能原因引起的回退或恢复。默认值
      kFallbackOrRecoverReasonSubscribeFallbackByBandwidth0由带宽不足导致的订阅端音视频流回退。
      kFallbackOrRecoverReasonSubscribeFallbackByPerformance1由性能不足导致的订阅端音视频流回退。
      kFallbackOrRecoverReasonSubscribeRecoverByBandwidth2由带宽恢复导致的订阅端音视频流恢复。
      kFallbackOrRecoverReasonSubscribeRecoverByPerformance3由性能恢复导致的订阅端音视频流恢复。
      kFallbackOrRecoverReasonPublishFallbackByBandwidth4由带宽不足导致的发布端音视频流回退。
      kFallbackOrRecoverReasonPublishFallbackByPerformance5由性能不足导致的发布端音视频流回退。
      kFallbackOrRecoverReasonPublishRecoverByBandwidth6由带宽恢复导致的发布端音视频流恢复。
      kFallbackOrRecoverReasonPublishRecoverByPerformance7由性能恢复导致的发布端音视频流恢复。
    LocalAudioStreamState

    类型: enum

    本地音频流状态。
    SDK 通过 onLocalAudioStateChanged 回调本地音频流状态

    • 成员

      属性值描述
      kLocalAudioStreamStateStopped0本地音频默认初始状态。
      麦克风停止工作时回调该状态,对应错误码 kLocalAudioStreamErrorOk
      kLocalAudioStreamStateRecording1本地音频录制设备启动成功。
      采集到音频首帧时回调该状态,对应错误码 kLocalAudioStreamErrorOk
      kLocalAudioStreamStateEncoding2本地音频首帧编码成功。
      音频首帧编码成功时回调该状态,对应错误码 kLocalAudioStreamErrorOk
      kLocalAudioStreamStateFailed3本地音频启动失败,在以下时机回调该状态:
      +本地录音设备启动失败,对应错误码 kLocalAudioStreamErrorRecordFailure
      +检测到没有录音设备权限,对应错误码 kLocalAudioStreamErrorDeviceNoPermission
      +音频编码失败,对应错误码 kLocalAudioStreamErrorEncodeFailure
    RemoteAudioState

    类型: enum

    远端音频流状态。
    用户可以通过 onRemoteAudioStateChanged 了解该状态。

    • 成员

      属性值描述
      kRemoteAudioStateStopped0不接收远端音频流。
      以下情况下会触发回调 onRemoteAudioStateChanged:
      + 本地用户停止接收远端音频流,对应原因是: kRemoteAudioStateChangeReasonLocalMuted
      + 远端用户停止发送音频流,对应原因是: kRemoteAudioStateChangeReasonRemoteMuted
      + 远端用户离开房间,对应原因是: kRemoteAudioStateChangeReasonRemoteOffline
      kRemoteAudioStateStarting1开始接收远端音频流首包。
      刚收到远端音频流首包会触发回调 onRemoteAudioStateChanged,
      对应原因是: kRemoteAudioStateChangeReasonLocalUnmuted。
      kRemoteAudioStateDecoding2远端音频流正在解码,正常播放。
      以下情况下会触发回调 onRemoteAudioStateChanged:
      + 成功解码远端音频首帧,对应原因是: kRemoteAudioStateChangeReasonLocalUnmuted
      + 网络由阻塞恢复正常,对应原因是: kRemoteAudioStateChangeReasonNetworkRecovery
      + 本地用户恢复接收远端音频流,对应原因是: kRemoteAudioStateChangeReasonLocalUnmuted
      + 远端用户恢复发送音频流,对应原因是: kRemoteAudioStateChangeReasonRemoteUnmuted
      kRemoteAudioStateFrozen3远端音频流卡顿。
      网络阻塞、丢包率大于 40% 时,会触发回调 onRemoteAudioStateChanged,
      对应原因是: kRemoteAudioStateChangeReasonNetworkCongestion
    RemoteAudioStateChangeReason

    类型: enum

    接收远端音频流状态改变的原因。
    用户可以通过 onRemoteAudioStateChanged 了解该原因。

    • 成员

      属性值描述
      kRemoteAudioStateChangeReasonInternal0内部原因
      kRemoteAudioStateChangeReasonNetworkCongestion1网络阻塞
      kRemoteAudioStateChangeReasonNetworkRecovery2网络恢复正常
      kRemoteAudioStateChangeReasonLocalMuted3本地用户停止接收远端音频流
      kRemoteAudioStateChangeReasonLocalUnmuted4本地用户恢复接收远端音频流
      kRemoteAudioStateChangeReasonRemoteMuted5远端用户停止发送音频流
      kRemoteAudioStateChangeReasonRemoteUnmuted6远端用户恢复发送音频流
      kRemoteAudioStateChangeReasonRemoteOffline7远端用户离开房间
    LocalVideoStreamState

    类型: enum

    本地视频流状态

    • 成员

      属性值描述
      kLocalVideoStreamStateStopped0本地视频采集停止状态
      kLocalVideoStreamStateRecording1本地视频采集设备启动成功
      kLocalVideoStreamStateEncoding2本地视频采集后,首帧编码成功
      kLocalVideoStreamStateFailed3本地视频采集设备启动失败
    RemoteVideoState

    类型: enum

    远端视频流状态。状态改变时,会收到回调: onRemoteVideoStateChanged

    • 成员

      属性值描述
      kRemoteVideoStateStopped0远端视频流默认初始状态,视频尚未开始播放。
      kRemoteVideoStateStarting1本地用户已接收远端视频流首包。
      kRemoteVideoStateDecoding2远端视频流正在解码,正常播放。
      kRemoteVideoStateFrozen3远端视频流卡顿,可能有网络等原因。
      kRemoteVideoStateFailed4远端视频流播放失败。
    RemoteVideoStateChangeReason

    类型: enum

    远端视频流状态改变的原因

    • 成员

      属性值描述
      kRemoteVideoStateChangeReasonInternal0内部原因
      kRemoteVideoStateChangeReasonNetworkCongestion1网络阻塞
      kRemoteVideoStateChangeReasonNetworkRecovery2网络恢复正常
      kRemoteVideoStateChangeReasonLocalMuted3本地用户停止接收远端视频流或本地用户禁用视频模块
      kRemoteVideoStateChangeReasonLocalUnmuted4本地用户恢复接收远端视频流或本地用户启用视频模块
      kRemoteVideoStateChangeReasonRemoteMuted5远端用户停止发送视频流或远端用户禁用视频模块
      kRemoteVideoStateChangeReasonRemoteUnmuted6远端用户恢复发送视频流或远端用户启用视频模块
      kRemoteVideoStateChangeReasonRemoteOffline7远端用户离开频道。
      状态转换参考 onStreamRemove(85533#onstreamremove)
    RtcUser

    类型: interface

    用户信息

    user_id

    类型: string

    用户 id

    meta_data

    类型: string

    元数据

    FirstFrameSendState

    类型: enum

    首帧发送状态

    • 成员

      属性值描述
      kFirstFrameSendStateSending0发送中
      kFirstFrameSendStateSent1发送成功
      kFirstFrameSendStateEnd2发送失败
    FirstFramePlayState

    类型: enum

    首帧播放状态

    • 成员

      属性值描述
      kFirstFramePlayStatePlaying0播放中
      kFirstFramePlayStatePlayed1播放成功
      kFirstFramePlayStateEnd2播放失败
    StreamMixingEvent

    类型: enum

    转推直播事件

    • 成员

      属性值描述
      kStreamMixingStart1请求发起转推直播任务
      kStreamMixingStartSuccess2发起转推直播任务成功
      kStreamMixingStartFailed3发起转推直播任务失败
      kStreamMixingUpdate4请求更新转推直播任务配置
      kStreamMixingUpdateSuccess5成功更新转推直播任务配置
      kStreamMixingUpdateFailed6更新转推直播任务配置失败
      kStreamMixingStop7请求结束转推直播任务
      kStreamMixingStopSuccess8结束转推直播任务成功
      kStreamMixingStopFailed9结束转推直播任务失败
      kStreamMixingChangeMixType10更新转推直播任务配置的请求超时
      kStreamMixingFirstAudioFrameByClientMix11得到客户端合流音频首帧
      kStreamMixingFirstVideoFrameByClientMix12收到客户端合流视频首帧
      kStreamMixingUpdateTimeout13更新转推直播任务配置超时
      kStreamMixingStartTimeout14发起转推直播任务配置超时
      kStreamMixingRequestParamError15合流布局参数错误
      kStreamMixingMixImageEvent16合流加图片
    StreamMixingType

    类型: enum

    合流类型

    • 成员

      属性值描述
      kStreamMixingTypeByServer0服务端合流
      kStreamMixingTypeByClient1端云一体合流
    SingleStreamPushEvent

    类型: enum

    转推直播事件

    • 成员

      属性值描述
      kSingleStreamPushStart1开始推流。
      kSingleStreamPushSuccess2推流成功。
      kSingleStreamPushFailed3推流失败。
      kSingleStreamPushStop4停止推流。
      kSingleStreamPushTimeout5单流转推直播任务处理超时,请检查网络状态并重试。
      kSingleStreamPushParamError6参数错误。
    RecordingInfo

    类型: interface

    本地录制的详细信息

    • API

      名称描述
      file_path录制文件的绝对路径,包含文件名和文件后缀
      video_codec_type录制文件的视频编码类型
      width录制视频的宽,单位:像素。纯音频录制请忽略该字段
      height录制视频的高,单位:像素。纯音频录制请忽略该字段
    file_path

    类型: string

    录制文件的绝对路径,包含文件名和文件后缀

    video_codec_type

    类型: VideoCodecType

    录制文件的视频编码类型

    width

    类型: number

    录制视频的宽,单位:像素。纯音频录制请忽略该字段

    height

    类型: number

    录制视频的高,单位:像素。纯音频录制请忽略该字段

    RecordingProgress

    类型: interface

    本地录制进度

    • API

      名称描述
      duration当前文件的累计录制时长,单位:毫秒
      file_size当前录制文件的大小,单位:byte
    duration

    类型: number

    当前文件的累计录制时长,单位:毫秒

    file_size

    类型: number

    当前录制文件的大小,单位:byte

    IAudioFrame

    类型: interface

    设置音频帧

    • API

      名称描述
      type音频帧类型
      channels音频通道数
      双声道的情况下,左右声道的音频帧数据以 LRLRLR 形式排布。
      sample_rate音频采样率
      buffer音频数据内存地址
      render_time_ms音频帧时间戳,单位:毫秒
      mute
    type

    类型: AudioFrameType

    值: 0

    音频帧类型

    channels

    类型: number

    音频通道数
    双声道的情况下,左右声道的音频帧数据以 LRLRLR 形式排布。

    sample_rate

    类型: number

    音频采样率

    buffer

    类型: Uint8Array

    音频数据内存地址

    render_time_ms

    类型: number

    音频帧时间戳,单位:毫秒

    mute

    类型: boolean

    LocalAudioPropertiesInfo

    类型: interface

    本地音频属性信息

    stream_index

    类型: StreamIndex

    流属性,主流或屏幕流。

    audio_properties_info

    类型: AudioPropertiesInfo

    音频属性信息,

    AudioPropertiesInfo

    类型: interface

    音频属性信息

    • API

      名称描述
      linear_volume线性音量,与原始音量呈线性关系,数值越大,音量越大。取值范围是:[0,255]。
      - [0, 25]: 无声
      - [26, 75]: 低音量
      - [76, 204]: 中音量
      - [205, 255]: 高音量
      nonlinear_volume非线性音量。由原始音量的对数值转化而来,因此在中低音量时更灵敏,可以用作 Active Speaker(房间内最活跃用户)的识别。取值范围是:[-127,0],单位 dB。
      - [-127, -60]: 无声
      - [-59, -40]: 低音量
      - [-39, -20]: 中音量
      - [-19, 0]: 高音量
      vad人声检测(VAD)结果
      - 1: 检测到人声。
      - 0: 未检测到人声。
      - -1: 未开启 VAD。
      spectrum
    linear_volume

    类型: number

    线性音量,与原始音量呈线性关系,数值越大,音量越大。取值范围是:[0,255]。
    - [0, 25]: 无声
    - [26, 75]: 低音量
    - [76, 204]: 中音量
    - [205, 255]: 高音量

    nonlinear_volume

    类型: number

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

    vad

    类型: number

    人声检测(VAD)结果
    - 1: 检测到人声。
    - 0: 未检测到人声。
    - -1: 未开启 VAD。

    spectrum

    类型: number[]

    RemoteAudioPropertiesInfo

    类型: interface

    远端音频属性信息

    stream_key

    类型: RemoteStreamKey

    流属性,主流或屏幕流。

    audio_properties_info

    类型: AudioPropertiesInfo

    音频属性信息

    EchoTestResult

    类型: enum

    • 成员

      属性值描述
      kTestSuccess0接收到采集的音视频的回放,通话回路检测成功
      kTestTimeout1测试超过 60s 仍未完成,已自动停止
      kTestIntervalShort2上一次测试结束和下一次测试开始之间的时间间隔少于 5s
      kAudioDeviceError3音频采集异常
      kVideoDeviceError4视频采集异常
      kAudioReceiveError5音频接收异常
      kVideoReceiveError6视频接收异常
      kInternalError7内部错误,不可恢复