AudioEffectPlayerConfig

类型: interface

混音配置

type

类型: AudioMixingType

混音播放类型

play_count

类型: number

混音播放次数

pitch

类型: number

与音乐文件原始音调相比的升高/降低值,取值范围为 [-12,12],默认值为 0。每相邻两个值的音高距离相差半音,正值表示升调,负值表示降调。

start_pos

类型: number

混音起始位置。默认值为 0,单位为毫秒。

AudioMixingType

类型: enum

混音播放类型

MediaPlayerConfig

类型: interface

混音配置

play_count

类型: number

混音播放次数

start_pos

类型: number

混音起始位置。默认值为 0,单位为毫秒。

callback_on_progress_interval

类型: string

设置音频文件混音时,收到 onMediaPlayerPlayingProgress 的间隔。单位毫秒。

sync_progress_to_record_frame

类型: boolean

在采集音频数据时,附带本地混音文件播放进度的时间戳。启用此功能会提升远端人声和音频文件混音播放时的同步效果。

auto_play

类型: boolean

是否自动播放。如果不自动播放,调用 startAudioMixing 播放音乐文件。

type

类型: AudioMixingType

混音播放类型

AudioMixingDualMonoMode

类型: enum

混音播放声道类型

MediaPlayerCustomSource

类型: interface

自定义音频源模式

mode

类型: MediaPlayerCustomSourceMode

数据源模式

type

类型: MediaPlayerCustomSourceStreamType

数据源类型

MediaPlayerCustomSourceMode

类型: enum

自定义音频源模式

MediaPlayerCustomSourceStreamType

类型: enum

自定义音频流类型

ExternalAudioFrame

类型: interface

外部音频帧

frame_type

类型: AudioFrameType

值: 0

音频帧类型。目前只支持 PCM

sample_rate

类型: AudioSampleRate

音频采样率,单位:Hz

channel

类型: AudioChannel

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

timestamp_ms

类型: number | undefined

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

data

类型: Uint8Array

音频帧数据: 音频帧数据只支持 PCM 格式, 只支持 10ms 帧长
帧长度计算: 48000采样率、单声道的帧长度: 48000 × 0.01s × 1 × 16bit = 7680bit = 960字节

AudioSampleRate

类型: enum

音频采样率,单位为 HZ。

AudioChannel

类型: enum

音频声道。

ProblemFeedbackOption

类型: enum

反馈信息类型

ProblemFeedbackInfo

类型: interface

音视频质量反馈的信息

problem_desc

类型: string

预设问题以外的其他问题的具体描述。

room_info

类型: ProblemFeedbackRoomInfo[]

音视频质量反馈的房间信息。

ProblemFeedbackRoomInfo

类型: interface

音视频质量反馈的房间信息

room_id

类型: string

房间 ID。

user_id

类型: string

本地用户 ID。

RTCPluginInfo

类型: interface

插件信息

id

类型: string

插件 ID,插件唯一标识

path

类型: string

插件库路径

RTCPlugin

类型: interface

插件定义

id

类型: string

插件 ID,插件唯一标识

setEnabled

启用插件

setParameter

设置参数

EchoTestConfig

类型: interface

音视频回路测试参数

audio_properties_report_interval

类型: number

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

uid

类型: string

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

room_id

类型: string

测试用户加入的房间 ID。

token

类型: string

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

enable_audio

类型: boolean

是否检测音频。检测设备为系统默认音频设备。

enable_video

类型: boolean

是否检测视频。PC 端默认检测列表中第一个视频设备。

AudioPropertiesConfig

类型: interface

音频属性信息提示的相关配置。

interval

类型: number

信息提示间隔,单位:ms

enable_spectrum

类型: boolean | undefined

是否开启音频频谱检测。

enable_vad

类型: boolean | undefined

是否开启人声检测 (VAD)。

local_main_report_mode

类型: AudioReportMode | undefined

音量回调配置模式。

audio_report_mode

类型: AudioPropertiesMode | undefined

设置 onLocalAudioPropertiesReport 回调中是否包含本地混音音频数据。
默认仅包含本地麦克风采集的音频数据和本地屏幕音频采集数据。

smooth

类型: number | undefined

适用于音频属性信息提示的平滑系数。取值范围是 (0.0, 1.0]。
默认值为 1.0,不开启平滑效果;值越小,提示音量平滑效果越明显。如果要开启平滑效果,可以设置为 0.3。

enable_voice_pitch

类型: boolean | undefined

是否回调本地用户的人声基频。

AudioReportMode

类型: enum

音量回调模式。

AudioPropertiesMode

类型: enum

音频信息提示中是否包含本地混音音频数据。

VideoEncoderConfig

类型: interface

视频流参数

width

类型: number

视频宽度,单位:像素

height

类型: number

视频高度,单位:像素

frame_rate

类型: number

视频帧率,单位:fps

max_bitrate

类型: number | undefined

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

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

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

    min_bitrate

    类型: number | undefined

    视频最小编码码率, 单位 kbps。编码码率不会低于 minBitrate。
    默认值为 0。
    范围:[0, maxBitrate),当 maxBitrate < minBitrate 时,为适配码率模式。
    以下情况,设置本参数无效:

    • 当 maxBitrate 为 0 时,不对视频流进行编码发送。
    • 当 maxBitrate < 0 时,适配码率模式。

    encoder_preference

    类型: VideoEncodePreference | undefined

    视频编码质量策略

    VideoEncodePreference

    类型: enum

    编码策略偏好

    • 成员

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

    类型: enum

    镜像类型

    • 成员

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

    类型: enum

    基础美颜模式

    • 成员

      属性值描述
      kEffectBeautyWhite0美白
      kEffectBeautySmooth1磨皮
      kEffectBeautySharpen2锐化
      kEffectBeautyModeClear3清晰,需集成 v4.4.2+ 版本的特效 SDK。
    StreamIndex

    类型: enum

    流属性

    • 成员

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

    类型: enum

    视频输入源类型

    • 成员

      属性值描述
      kVideoSourceTypeExternal0自定义采集视频源
      kVideoSourceTypeInternal1内部采集视频源
    ExternalVideoFrame

    类型: interface

    外部视频帧

    pixel_fmt

    类型: VideoPixelFormat

    视频帧像素格式

    color_space

    类型: ColorSpace | undefined

    视频帧颜色空间

    data

    类型: [(Uint8Array | undefined)?, (Uint8Array | undefined)?, (Uint8Array | undefined)?]

    视频帧数据平面指针数组
    I420数据:data[0]: y; data[1]: u; data[2]: v;
    NV12数据:data[0]: y; data[1]: uv;
    RGBA、ARGB、BGRA数据: data[0]: rgba/argb/bgra;

    linesize

    类型: [(number | undefined)?, (number | undefined)?, (number | undefined)?]

    视频帧数据平面行长度
    I420数据:linesize[0]: width; linesize[1]: width/2; linesize[2]: width/2;
    NV12数据:linesize[0]: width; linesize[1]: width;
    RGBA、ARGB、BGRA数据:linesize[0]: width*4;

    extra_data

    类型: Uint8Array | undefined

    SEI 数据地址

    supplementary_info

    类型: Uint8Array | undefined

    补充数据地址

    width

    类型: number

    视频帧宽度

    height

    类型: number

    视频帧高度

    rotation

    类型: VideoRotation | undefined

    视频旋转角度。
    当视频接收端使用 RTC SDK 内部渲染时,引擎会根据设定的 rotation 处理旋转角度后再行渲染;
    当视频接收端使用自定义渲染时,此处设置的 rotation 无效。

    timestamp_ms

    类型: number | undefined

    视频帧时间戳, 单位毫秒

    VideoPixelFormat

    类型: enum

    视频帧颜色编码格式

    • 成员

      属性值描述
      kVideoPixelFormatUnknown0未知的颜色编码格式
      kVideoPixelFormatI4201YUV I420 格式
      kVideoPixelFormatNV122YUV NV12 格式
      kVideoPixelFormatNV213YUV NV21 格式
      kVideoPixelFormatRGB244RGB 24bit格式,
      kVideoPixelFormatRGBA5RGBA 编码格式
      kVideoPixelFormatARGB6ARGB 编码格式
      kVideoPixelFormatBGRA7BGRA 编码格式
    ColorSpace

    类型: enum

    视频 YUV 格式颜色空间

    • 成员

      属性值描述
      kColorSpaceUnknown0未知的颜色空间,默认使用 kColorSpaceYCbCrBT601LimitedRange 颜色空间
      kColorSpaceYCbCrBT601LimitedRange1BT.601 数字编码标准,颜色空间 [16-235]
      kColorSpaceYCbCrBT601FullRange2BT.601 数字编码标准,颜色空间 [0-255]
      kColorSpaceYCbCrBT709LimitedRange3BT.7091 数字编码标准,颜色空间 [16-235]
      kColorSpaceYCbCrBT709FullRange4BT.7091 数字编码标准,颜色空间 [0-255]
    VideoRotation

    类型: enum

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

    • 成员

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

    类型: enum

    音频输入源类型

    • 成员

      属性值描述
      kAudioSourceTypeExternal0自定义采集音频源
      kAudioSourceTypeInternal1RTC SDK 内部采集音频源
    PushSingleStreamParam

    类型: interface

    单流转推直播配置参数。

    room_id

    类型: string

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

    user_id

    类型: string

    媒体流所属的用户 ID

    uri

    类型: string

    推流地址

    is_screen_stream

    类型: boolean

    媒体流是否为屏幕流。

    AnsMode

    类型: enum

    降噪模式。

    • 成员

      属性值描述
      kAnsModeDisable0禁用音频降噪。
      kAnsModeLow1适用于微弱降噪。
      kAnsModeMedium2适用于抑制中度平稳噪音,如空调声、风扇声。
      kAnsModeHigh3适用于抑制嘈杂非平稳噪音,如键盘声、敲击声、碰撞声、动物叫声。
      kAnsModeAutomatic4启用音频降噪能力。具体的降噪算法由 RTC 决定。
    RemoteStreamKey

    类型: interface

    远端流信息

    room_id

    类型: string

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

    user_id

    类型: string

    用户 ID

    stream_index

    类型: StreamIndex

    流属性,主流或屏幕流。

    VideoSuperResolutionMode

    类型: enum

    超分模式。

    • 成员

      属性值描述
      kVideoSuperResolutionModeOff0关闭超分。
      kVideoSuperResolutionModeOn1开启超分。
    StreamSycnInfoConfig

    类型: interface

    媒体流信息同步的相关配置

    stream_index

    类型: StreamIndex

    流属性,主流或屏幕流。

    repeat_count

    类型: number

    消息发送的重复次数,取值范围是 [0,25],建议设置为 [3,5]。

    stream_type

    类型: SyncInfoStreamType

    值: 0

    媒体流信息同步的流类型,

    CloudProxyInfo

    类型: interface

    云代理信息

    cloud_proxy_ip

    类型: string

    云代理服务器 IP

    cloud_proxy_port

    类型: number

    云代理服务器端口

    IPublicStreamParam

    类型: interface

    公共流参数

    interpolation_mode

    类型: number

    补帧模式

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

    room_id

    类型: string

    合流房间 ID,必填

    background_image_uri

    类型: string

    背景图片链接

    video_param

    类型: PublicStreamVideoParam

    公共流视频参数。

    layout_regions

    类型: PublicStreamLayoutRegion[]

    公共流视窗布局信息。

    layout_mode

    类型: StreamLayoutMode

    公共流的布局模式

    bg_color

    类型: string

    背景颜色

    PublicStreamVideoParam

    类型: interface

    公共流视频编码参数

    width

    类型: number

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

    height

    类型: number

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

    fps

    类型: number

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

    bitrate_kpbs

    类型: number

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

    PublicStreamLayoutRegion

    类型: interface

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

    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

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

    TranscoderContentControlType

    类型: enum

    合流输出内容类型

    • 成员

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

    类型: enum

    渲染模式

    • 成员

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

    类型: interface

    公共流视频裁剪配置

    location_x

    类型: number

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

    location_y

    类型: number

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

    width_proportion

    类型: number

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

    height_proportion

    类型: number

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

    StreamLayoutMode

    类型: enum

    公共流的布局模式

    • 成员

      属性值描述
      kStreamLayoutModeAuto0(默认)自动布局
      kStreamLayoutModeCustom2自定义
    RenderOptions

    类型: interface

    本地渲染选项

    render_mode

    类型: RenderMode

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

    mirror

    类型: boolean

    是否镜像渲染

    RenderMode

    类型: enum

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

    • 成员

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

    类型: enum

    视频帧编码格式

    • 成员

      属性值描述
      kI420YUV I420 格式
      kRGBARGBA 格式, 字节序为 R8 G8 B8 A8
    ScreenCaptureSourceInfo

    类型: interface

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

    type

    类型: ScreenCaptureSourceType

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

    source_id

    类型: number

    共享对象 ID

    source_name

    类型: string

    屏幕共享对象的名称

    application

    类型: string

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

    primary_monitor

    类型: boolean

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

    pid

    类型: number

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

    region_rect

    类型: Rectangle

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

    ScreenCaptureSourceType

    类型: enum

    屏幕采集对象的类型

    • 成员

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

    类型: interface

    矩形区域,用于指定屏幕区域

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

    x

    类型: number | undefined

    矩形区域左上角的 x 坐标

    y

    类型: number | undefined

    矩形区域左上角的 y 坐标

    width

    类型: number | undefined

    矩形宽度

    height

    类型: number | undefined

    矩形高度

    ScreenCaptureParameters

    类型: interface

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

    region_rect

    类型: Rectangle

    采集区域

    capture_mouse_cursor

    类型: MouseCursorCaptureState | undefined

    是否采集鼠标状态

    filter_config

    类型: number[]

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

    highlight_config

    类型: HighlightConfig

    采集区域的边框高亮设置

    MouseCursorCaptureState

    类型: enum

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

    • 成员

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

    类型: interface

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

    enable_highlight

    类型: boolean | undefined

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

    border_color

    类型: number | undefined

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

    border_width

    类型: number | undefined

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

    ThumbnailInfo

    类型: interface

    屏幕共享对象缩略图
    调用 getThumbnail 后返回本对象

    width

    类型: number

    宽度,单位:像素

    height

    类型: number

    高度,单位:像素

    data

    类型: string

    数据,采用 base64 编码的 png 字符串

    AppIconInfo

    类型: interface

    共享窗体的图标信息
    调用 getWindowAppIcon 后返回本对象

    width

    类型: number

    宽度,单位:像素

    height

    类型: number

    高度,单位:像素

    data

    类型: string

    数据,采用 base64 编码的 png 字符串

    ScreenVideoEncoderConfig

    类型: interface

    屏幕编码配置。参考 设置视频发布参数。

    width

    类型: number

    视频宽度,单位:像素。

    height

    类型: number

    视频高度,单位:像素。

    frame_rate

    类型: number

    视频帧率,单位:fps。

    max_bitrate

    类型: number | undefined

    最大编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。
    设为 -1 即适配码率模式,系统将根据输入的分辨率和帧率自动计算适用的码率。
    设为 0 则不对视频流进行编码发送。
    3.44 及以上版本,内部采集时默认值为 -1,3.44 以前版本无默认值,需手动设置。

    min_bitrate

    类型: number | undefined

    最小编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。
    最小编码码率必须小于或等于最大编码,否则不对视频流进行编码发送。

    encoder_preference

    类型: ScreenVideoEncodePreference | undefined

    屏幕流编码模式。

    ScreenVideoEncodePreference

    类型: enum

    屏幕流编码模式。默认采用清晰模式。若在采集时设置 filter_config 排除指定窗口,共享视频时帧率无法达到 30fps。

    • 成员

      属性值描述
      kScreenVideoEncodePreferenceAuto0智能模式。根据屏幕内容智能决策选择流畅模式或清晰模式。
      kScreenVideoEncodePreferenceFramerate1流畅模式,优先保障帧率。适用于共享游戏、视频等动态画面。
      kScreenVideoEncodePreferenceQuality2清晰模式,优先保障分辨率。适用于共享PPT、文档、图片等静态画面。
    MessageConfig

    类型: enum

    发送消息的可靠有序性

    • 成员

      属性值描述
      kMessageConfigReliableOrdered0低延时可靠有序消息
      kMessageConfigUnreliableOrdered1超低延时有序消息
      kMessageConfigUnreliableUnordered2超低延时无序消息
    SEICountPerFrame

    类型: enum

    SEI 发送模式。

    • 成员

      属性值描述
      kSEICountPerFrameSingle0单发模式。即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 按队列逐帧发送。
      kSEICountPerFrameMulti1多发模式。即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 随下个视频帧同时发送。
    VideoCaptureConfig

    视频采集配置

    • 类型

      {
        capture_preference: CapturePreference;
        width?: number;
        height?: number;
        frame_rate?: number;
      }
      
      ts
    • 成员

      名称类型描述
      capture_preferenceCapturePreference视频采集模式
      widthnumber | undefined视频采集分辨率的宽度,单位:px。
      heightnumber | undefined视频采集分辨率的高度,单位:px。
      frame_ratenumber | undefined视频采集帧率,单位:fps。
    CapturePreference

    类型: enum

    视频采集配置

    • 成员

      属性值描述
      kAuto0(默认)自动设置采集参数。
      SDK在开启采集时根据服务端下发的采集配置结合编码参数设置最佳采集参数。
      kManual1手动设置采集参数,包括采集分辨率、帧率。
      kAutoPerformance2采集参数与编码参数一致,即在 setVideoEncoderConfig 中设置的参数。
    AudioMixingConfig

    类型: interface

    混音配置

    type

    类型: AudioMixingType

    混音播放类型

    play_count

    类型: number

    混音播放次数,

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

    position

    类型: number

    混音时音频文件播放的起始位置。参数为整数,单位为毫秒。

    callback_on_progress_interval

    类型: number | undefined

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

    sync_progress_to_record_frame

    类型: boolean | undefined

    在采集音频数据时,附带本地混音文件播放进度的时间戳。启用此功能会提升远端人声和音频文件混音播放时的同步效果。

    • 注意

      • 仅在单个音频文件混音时使用有效。
      • true 时开启此功能,false 时关闭此功能,默认为关闭。
    RecordingConfig

    类型: interface

    本地录制参数配置

    dir_path

    类型: string

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

    file_type

    类型: number

    录制存储文件格式

    • aac : 0
    • mp4 : 1
    RecordingType

    类型: enum

    本地录制的媒体类型

    • 成员

      属性值描述
      kRecordingTypeAudioOnly0只录制音频
      kRecordingTypeVideoOnly1只录制视频
      kRecordingTypeVideoAndAudio2同时录制音频和视频
    RemoteUserPriority

    类型: enum

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

    • 成员

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

    类型: interface

    虚拟背景对象。

    source_type

    类型: VirtualBackgroundSourceType | undefined

    虚拟背景类型

    source_path

    类型: string

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

    source_color

    类型: number | undefined

    纯色背景使用的颜色。

    VirtualBackgroundSourceType

    类型: enum

    虚拟背景类型。

    • 成员

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

    类型: interface

    水印参数

    visible_in_preview

    类型: boolean | undefined

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

    position_in_landscape_mode

    类型: ByteWatermark

    横屏时的水印位置和大小

    position_in_portrait_mode

    类型: ByteWatermark

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

    ByteWatermark

    类型: interface

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

    x

    类型: number

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

    y

    类型: number

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

    width

    类型: number

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

    height

    类型: number

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

    AudioTrackType

    类型: enum

    原唱伴唱类型。

    • 成员

      属性值描述
      kOriginal1播放原唱。
      kAccompy2播放伴唱。
    AudioPlayType

    类型: enum

    音乐播放类型。

    • 成员

      属性值描述
      kLocal0仅本地播放。
      kRemote1仅远端播放。
      kLocalAndRemote2本地、远端同时播放。
    DownloadLyricType

    类型: enum

    歌词文件类型。

    • 成员

      属性值描述
      kKRC0KRC 歌词文件。
      kLRC1LRC 歌词文件。
    SingScoringConfig

    类型: interface

    K 歌评分配置。

    sample_rate

    类型: AudioSampleRate

    音频采样率。仅支持 44100 Hz、48000 Hz。

    mode

    类型: MulDimSingScoringMode

    值: 0

    打分维度

    lyrics_filepath

    类型: string

    歌词文件路径。打分功能仅支持 KRC 歌词文件。

    midi_filepath

    类型: string

    歌曲 midi 文件路径。

    StandardPitchInfo

    类型: interface

    标准音高数据

    start_time

    类型: number

    开始时间,单位 ms。

    duration

    类型: number

    持续时间,单位 ms。

    pitch

    类型: number

    音高。

    VoiceEqualizationConfig

    类型: interface

    语音均衡效果。

    frequency

    类型: VoiceEqualizationBandFrequency

    频带。

    gain

    类型: number

    频带增益(dB)。取值范围是 [-15, 15]。

    VoiceEqualizationBandFrequency

    类型: enum

    音频均衡效果。

    • 成员

      属性值描述
      kVoiceEqualizationBandFrequency310中心频率为 31Hz 的频带。
      kVoiceEqualizationBandFrequency621中心频率为 62Hz 的频带。
      kVoiceEqualizationBandFrequency1252中心频率为 125Hz 的频带。
      kVoiceEqualizationBandFrequency2503中心频率为 250Hz 的频带。
      kVoiceEqualizationBandFrequency5004中心频率为 500Hz 的频带。
      kVoiceEqualizationBandFrequency1k5中心频率为 1kHz 的频带。
      kVoiceEqualizationBandFrequency2k6中心频率为 2kHz 的频带。
      kVoiceEqualizationBandFrequency4k7中心频率为 4kHz 的频带。
      kVoiceEqualizationBandFrequency8k8中心频率为 8kHz 的频带。
      kVoiceEqualizationBandFrequency16k9中心频率为 16kHz 的频带。
    VoiceReverbConfig

    类型: interface

    音频混响效果。

    room_size

    类型: number

    混响模拟的房间大小,取值范围 [0.0, 100.0]。默认值为 50.0f。房间越大,混响越强。

    decay_time

    类型: number

    混响的拖尾长度,取值范围 [0.0, 100.0]。默认值为 50.0f。

    damping

    类型: number

    混响的衰减阻尼大小,取值范围 [0.0, 100.0]。默认值为 50.0f。

    wet_gain

    类型: number

    早期反射信号强度。取值范围 [-20.0, 10.0],单位为 dB。默认值为 0.0f。

    dry_gain

    类型: number

    原始信号强度。取值范围 [-20.0, 10.0],单位为 dB。默认值为 0.0f。

    pre_delay

    类型: number

    早期反射信号的延迟。取值范围 [0.0, 200.0],单位为 ms。默认值为 0.0f。

    AudioRecordingConfig

    类型: interface

    录音配置

    absolute_file_name

    类型: string

    录制文件路径。一个有读写权限的绝对路径,包含文件名和文件后缀。

    • 注意

      录制文件的格式仅支持 .aac 和 .wav。

    frame_source

    类型: AudioFrameSource

    录音内容来源
    默认为 kAudioFrameSourceMixed = 2。

    sample_rate

    类型: AudioSampleRate

    录音采样率

    channel

    类型: AudioChannel

    录音音频声道。

    • 注意

      如果录制时设置的的音频声道数与采集时的音频声道数不同:

      • 如果采集的声道数为 1,录制的声道数为 2,那么,录制的音频为经过单声道数据拷贝后的双声道数据,而不是立体声。
      • 如果采集的声道数为 2,录制的声道数为 1,那么,录制的音频为经过双声道数据混合后的单声道数据。

    quality

    类型: AudioQuality

    录音音质。仅在录制文件格式为 .aac 时可以设置。

    • 注意

      采样率为 32kHz 时,不同音质录制文件(时长为 10min)的大小分别是:

      • 低音质:1.2MB;
      • 【默认】中音质:2MB;
      • 高音质:3.75MB;
      • 超高音质:7.5MB。
    AudioFrameSource

    类型: enum

    音频文件录制内容来源。

    • 成员

      属性值描述
      kAudioFrameSourceMic0本地麦克风采集的音频数据。
      kAudioFrameSourcePlayback1远端所有用户混音后的数据
      kAudioFrameSourceMixed2本地麦克风和所有远端用户音频流的混音后的数据
    AudioQuality

    类型: enum

    音频质量。

    • 成员

      属性值描述
      kAudioQualityLow0低音质
      kAudioQualityMedium1中音质
      kAudioQualityHigh2高音质
      kAudioQualityUltraHigh3超高音质
    ZoomConfigType

    类型: enum

    数码变焦参数类型

    • 成员

      属性值描述
      kZoomConfigTypeFocusOffset0设置缩放系数
      kZoomConfigTypeMoveOffset1设置移动步长
    ZoomDirectionType

    类型: enum

    数码变焦操作类型

    • 成员

      属性值描述
      kZoomDirectionTypeMoveLeft0相机向左移动
      kZoomDirectionTypeMoveRight1相机向右移动
      kZoomDirectionTypeMoveUp2相机向上移动
      kZoomDirectionTypeMoveDown3相机向下移动
      kZoomDirectionTypeZoomOut4相机缩小焦距
      kZoomDirectionTypeZoomIn5相机放大焦距
      kZoomDirectionTypeReset6恢复到原始画面
    IMixedStreamConfig

    类型: interface

    转推直播配置参数(新)

    is_support_client_push_stream

    类型: boolean

    本端是否具有推流能力。如果需要开启端云一体转推直播功能,你必须确保你的 App 包含 librtmp,具有推流能力。此时,设置该回调为 true
    默认为 false。

    expected_mix_type

    类型: MixedStreamType

    设置合流类型。本参数不支持过程中更新。

    room_id

    类型: string

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

    user_id

    类型: string

    媒体流所属的用户 ID

    push_url

    类型: string

    设置推流 CDN 地址。仅支持 RTMP 协议,Url 必须满足正则 /^rtmps?:\/\//

    audio_config

    类型: MixedStreamAudioConfig

    音频参数

    video_config

    类型: MixedStreamVideoConfig

    视频参数

    client_mix_config

    类型: MixedStreamClientMixConfig

    设置客户端合流信息

    layout_regions

    类型: MixedStreamLayoutRegionConfig[]

    设置视频流合流整体布局信息。必填。

    background_color

    类型: string

    背景颜色

    user_config_extra_info

    类型: string

    设置透传的 App 数据

    server_control_config

    类型: MixedStreamServerControlConfig | undefined

    服务端合流控制参数

    background_image_url

    类型: string | undefined

    设置合流后整体画布的背景图片 URL,长度最大为 1024 bytes。
    支持的图片格式包括:JPG, JPEG, PNG。如果背景图片的宽高和整体屏幕的宽高不一致,背景图片会缩放到铺满屏幕。

    MixedStreamType

    类型: enum

    合流类型(新)

    • 成员

      属性值描述
      kMixedStreamTypeByServer0服务端合流
      kMixedStreamTypeByClient1端云一体合流。SDK 智能决策在客户端或服务端完成合流。
      使用前,请联系技术支持同学开通,否则不生效。
    MixedStreamAudioConfig

    类型: interface

    音频合流配置参数(新)。值不合法或未设置时,自动使用默认值。

    sample_rate

    类型: 32000 | 44100 | 48000

    音频采样率,单位 Hz。可取 32000 Hz、44100 Hz、48000 Hz,默认值为 48000 Hz。

    channels

    类型: 1 | 2

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

    bitrate

    类型: number

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

    audio_profile

    类型: MixedStreamAudioProfile

    AAC 编码规格。默认值为 0。

    audio_codec

    类型: MixedStreamAudioCodecType

    值: 0

    音频编码格式。默认值为 0。

    MixedStreamAudioProfile

    类型: enum

    AAC 编码规格(新)。

    • 成员

      属性值描述
      kMixedStreamAudioProfileLC0AAC-LC 规格,默认值。
      kMixedStreamAudioProfileHEv11HE-AAC v1 规格。
      kMixedStreamAudioProfileHEv22HE-AAC v2 规格。
    MixedStreamVideoConfig

    类型: interface

    视频合流配置参数(新)。值不合法或未设置时,自动使用默认值。

    width

    类型: number

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

    height

    类型: number

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

    fps

    类型: number

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

    gop

    类型: number

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

    bitrate

    类型: number

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

    video_codec

    类型: MixedStreamVideoCodecType

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

    enable_bframe

    类型: boolean

    是否在合流中开启 B 帧,仅服务端合流支持:

    • true: 是
    • false: 否
    MixedStreamVideoCodecType

    类型: enum

    视频编码格式(新)。

    • 成员

      属性值描述
      kMixedStreamVideoCodecTypeH2640H.264 格式,默认值。
      kMixedStreamVideoCodecTypeByteVC11ByteVC1 格式。
    MixedStreamClientMixConfig

    类型: interface

    客户端合流参数(新)。

    use_audio_mixer

    类型: boolean

    客户端合流是否使用混音,默认为 true。

    video_format

    类型: MixedStreamClientMixVideoFormat

    客户端合流回调视频格式。

    MixedStreamClientMixVideoFormat

    类型: enum

    客户端合流回调视频格式(新)。设置为系统不支持的格式时,自动回调系统默认格式。

    • 成员

      属性值描述
      kMixedStreamClientMixVideoFormatI4200YUV I420。Android、Windows 默认回调格式。支持系统:Android、Windows。
      kMixedStreamClientMixVideoFormatTexture2D1OpenGL GL_TEXTURE_2D 格式纹理。支持系统:安卓。
      kMixedStreamClientMixVideoFormatCVPixelBufferBGRA2CVPixelBuffer BGRA。iOS 默认回调格式。支持系统: iOS。
      kMixedStreamClientMixVideoFormatNV123YUV NV12。macOS 默认回调格式。支持系统: macOS。
    MixedStreamLayoutRegionConfig

    类型: interface

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

    region_id

    类型: string

    合流用户的 ID。必填。

    room_id

    类型: string

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

    location_x

    类型: number

    视频流对应区域左上角的横坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。默认值为 0.0。

    location_y

    类型: number

    视频流对应区域左上角的纵坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。默认值为 0.0。

    width

    类型: number

    视频流对应区域宽度相对整体画面的归一化比例,取值的范围为 [0.0, 1.0]。默认值为 1.0。

    height

    类型: number

    视频流对应区域高度相对整体画面的归一化比例,取值的范围为 [0.0, 1.0]。默认值为 1.0。

    alpha

    类型: number

    透明度,可选范围为 (0.0, 1.0],0.0 为全透明。默认值为 1.0。

    corner_radius

    类型: number

    圆角半径相对画布宽度的比例。默认值为 0.0。

    • 注意

      做范围判定时,首先根据画布的宽高,将 width,height,和 corner_radius 分别转换为像素值:width_px,height_px,和 corner_radius_px。然后判定是否满足 corner_radius_px < min(width_px/2, height_px/2):若满足,则设置成功;若不满足,则将 corner_radius_px 设定为 min(width_px/2, height_px/2),然后将 corner_radius 设定为 corner_radius_px 相对画布宽度的比例值。

    z_order

    类型: number

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

    is_local_user

    类型: boolean

    是否为本地用户:

    • true: 是
    • false: 否

    stream_type

    类型: MixedStreamVideoType

    是否为屏幕流:

    media_type

    类型: MixedStreamMediaType

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

    render_mode

    类型: MixedStreamRenderMode

    图片或视频流的缩放模式。默认值为 1。

    region_content_type

    类型: MixedStreamLayoutRegionType

    合流布局区域类型。

    image_water_mark

    类型: Uint8Array

    图片合流布局区域类型对应的数据。类型为图片时传入图片 RGBA 数据,当类型为视频流时传空。

    image_water_mark_param

    类型: MixedStreamLayoutRegionImageWaterMarkConfig

    合流布局区域数据的对应参数。当类型为视频流时传空,类型为图片时传入对应图片的参数。

    spatial_position

    类型: Position

    空间位置。

    apply_spatial_audio

    类型: boolean

    是否开启空间音频

    alternate_image_fill_mode

    类型: MixedStreamAlternateImageFillMode

    占位图的填充模式。
    该参数用来控制当用户停止发布视频流,画面恢复为占位图后,此时占位图的填充模式。

    alternate_image_url

    类型: string

    设置占位图的 URL,长度小于 1024 字符。

    MixedStreamVideoType

    类型: enum

    region中流的类型属性

    • 成员

      属性值描述
      kMixedStreamVideoTypeMain0主流。包括:
      + 由摄像头/麦克风通过内部采集机制,采集到的流
      + 通过自定义采集,采集到的流。
      kMixedStreamVideoTypeScreen1屏幕流。
    MixedStreamMediaType

    类型: enum

    合流输出内容类型(新)。

    • 成员

      属性值描述
      kMixedStreamMediaTypeAudioAndVideo0输出的混流包含音频和视频
      kMixedStreamMediaTypeAudioOnly1输出的混流只包含音频
      kMixedStreamMediaTypeVideoOnly2输出的混流只包含视频
    MixedStreamRenderMode

    类型: enum

    图片或视频流的缩放模式(新)。

    • 成员

      属性值描述
      kMixedStreamRenderModeHidden1视窗填满优先,默认值。
      视频尺寸等比缩放,直至视窗被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
      kMixedStreamRenderModeFit2视频帧内容全部显示优先。
      视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成背景颜色。
      kMixedStreamRenderModeAdaptive3视频帧自适应画布。
      视频尺寸非等比例缩放,把窗口充满。在此过程中,视频帧的长宽比例可能会发生变化。
    MixedStreamLayoutRegionType

    类型: enum

    合流布局区域类型(新)。

    • 成员

      属性值描述
      kMixedStreamLayoutRegionTypeVideoStream0合流布局区域类型为视频。
      kMixedStreamLayoutRegionTypeImage1合流布局区域类型为图片。
    MixedStreamLayoutRegionImageWaterMarkConfig

    类型: interface

    图片合流相关参数(新)。

    image_width

    类型: number

    原始图片的宽度,单位为 px。

    image_height

    类型: number

    原始图片的高度,单位为 px。

    Position

    本地用户在房间内的位置坐标,需自行建立空间直角坐标系

    • 类型

      {
        x: number;
        y: number;
        z: number;
      }
      
      ts
    • 成员

      名称类型描述
      xnumberx 坐标
      ynumbery 坐标
      znumberz 坐标
    MixedStreamAlternateImageFillMode

    类型: enum

    服务端合流占位图渲染模式。

    • 成员

      属性值描述
      kMixedStreamAlternateImageFillModeFit0占位图跟随用户原始视频帧相同的比例缩放,默认。
      kMixedStreamAlternateImageFillModeFill1占位图不跟随用户原始视频帧相同的比例缩放,保持图片原有比例。
    MixedStreamServerControlConfig

    类型: interface

    服务端合流控制参数

    enable_volume_indication

    类型: boolean

    是否开启单独发送声音提示 SEI 的功能:

    • True:开启;
    • False:关闭。(默认值)
      开启后,你可以通过 MixedStreamServerControlConfig.sei_content_mode 控制 SEI 的内容是否只携带声音信息。

    volume_indication_interval

    类型: number

    声音提示间隔,单位为秒,取值范围为 [0.3,+∞),默认值为 2。
    此值仅取整百毫秒。若传入两位及以上小数,则四舍五入取第一位小数的值。例如,若传入 0.36,则取 0.4。

    talk_volume

    类型: number

    有效音量大小,取值范围为 [0, 255],默认值为 0。
    超出取值范围则自动调整为默认值,即 0。

    is_add_volume_value

    类型: boolean

    声音信息 SEI 是否包含音量值:

    • True:是;
    • False:否,默认值。

    sei_content_mode

    类型: MixedStreamSEIContentMode

    设置 SEI 内容。

    sei_payload_type

    类型: number

    SEI 信息的 payload type。

    • 注意

      默认值为 100,只支持设置 5 和 100。
      在转推直播的过程中,该参数不支持变更。

    sei_payload_uuid

    类型: string | undefined

    SEI 信息的 payload UUID。

    • 注意

      PayloadType 为 5 时,必须填写 PayloadUUID,否则会收到错误回调。
      PayloadType 不是 5 时,不需要填写 PayloadUUID,如果填写会被后端忽略。
      该参数长度需为32位,否则会收到错误回调。
      该参数每个字符的范围需为 [0, 9] [a, f] [A, F]
      该参数不应带有-字符,如系统自动生成的 UUID 中带有-,则应删去。
      在转推直播的过程中,该参数不支持变更。

    media_type

    类型: MixedStreamMediaType

    控制合流后推到CDN的输出内容。

    • 注意

      默认值为音视频,可以支持纯音频,暂不支持纯视频,MixedStreamMediaType枚举中有纯视频的定义,但是不会对该字段生效。

    push_stream_mode

    类型: MixedStreamPushMode

    控制合流的推流模式。

    • 注意

      默认值为有音频/视频发布的时候,可以发起合流任务;在没有用户推流的情况下,支持用占位图发起合流任务。

    MixedStreamSEIContentMode

    类型: enum

    服务端合流转推 SEI 内容。

    • 成员

      属性值描述
      kMixedStreamSEIContentModeDefault0视频流中包含全部的 SEI 信息。默认设置。
      kMixedStreamSEIContentModeEnableVolumeIndication1随非关键帧传输的 SEI 数据中仅包含音量信息。
      当设置 MixedStreamServerControlConfig.enable_volume_indication 为 True 时,此参数设置生效。
    MixedStreamPushMode

    类型: enum

    服务端合流推流模式。

    • 成员

      属性值描述
      kMixedStreamPushModeOnStream0有用户推流的情况下,才能发起合流任务
      kMixedStreamPushModeOnStartRequest1无用户推流的情况下,调用合流开启可以用占位图发起合流任务
    LocalProxyConfiguration

    类型: interface

    本地代理配置详细信息。

    local_proxy_type

    类型: LocalProxyType

    本地代理类型

    local_proxy_ip

    类型: string

    本地代理服务器 IP。

    local_proxy_port

    类型: number

    本地代理服务器端口。

    local_proxy_username

    类型: string

    本地代理用户名。

    local_proxy_password

    类型: string

    本地代理密码。

    LocalProxyType

    类型: enum

    本地代理的类型。

    • 成员

      属性值描述
      kLocalProxyTypeSocks51Socks5 代理。选用此代理服务器,需满足 Socks5 协议标准文档的要求。
      kLocalProxyTypeHttpTunnel2Http 隧道代理。
    EarMonitorMode

    类型: enum

    是否开启耳返功能

    • 成员

      属性值描述
      kEarMonitorModeOff0不开启
      kEarMonitorModeOn1开启
    AudioFrameCallbackMethod

    类型: enum

    音频回调方法

    AudioFormat

    类型: interface

    音频格式

    sample_rate

    类型: AudioSampleRate

    音频采样率

    channel

    类型: AudioChannel

    音频声道

    samples_per_call

    类型: number

    单次回调的音频帧中包含的采样点数。默认值为 0,此时,采样点数取最小值。
    最小值为回调间隔是 0.01s 时的值,即 sampleRate * channel * 0.01s。
    最大值是 2048。超出取值范围时,采样点数取默认值。

    AudioAlignmentMode

    类型: enum

    远端音频流精准对齐模式

    • 成员

      属性值描述
      kAudioAlignmentModeOff0不对齐
      kAudioAlignmentModeAudioMixing1远端音频流都对齐伴奏进度同步播放
    VideoEnhancementMode

    类型: enum

    弱光适应类型

    • 成员

      属性值描述
      kVideoEnhancementModeDisabled0关闭弱光适应
      kVideoEnhancementModeAuto1- @brief 开启弱光适应
    LogConfig

    类型: interface

    本地日志参数。

    log_path

    类型: string

    日志存储路径。

    log_level

    类型: LocalLogLevel

    日志等级,默认为警告级别。

    log_filename_prefix

    类型: string | undefined

    日志文件名前缀,选填。该字符串必须符合正则表达式:[a-zA-Z0-9_@-.]{1,128}。
    最终的日志文件名为前缀 + "_" + 文件创建时间 + "_rtclog".log,如 logPrefix_2023-05-25_172324_rtclog.log。

    LocalLogLevel

    类型: enum

    本地日志输出等级。

    • 成员

      属性值描述
      kInfo0信息级别。
      kWarning1(默认值)警告级别。
      kError2错误级别。
      kNone3关闭日志。
    RenderType

    类型: enum

    渲染类型

    • 成员

      属性值描述
      kRenderTypeWebGL1WebGL渲染。
      kRenderTypeSoftware2Software渲染。
    UserInfo

    用户信息

    • 类型

      {
        uid: string;
        extra_info?: string;
      }
      
      ts
    • 成员

      名称类型描述
      uidstring用户 ID。该字符串符合正则表达式:[a-zA-Z0-9_@\-\.]{1,128}。 你需要自行设置或管理 uid,并保证同一房间内每个 uid 的唯一性。
      extra_infostring | undefined用户的额外信息,最大长度为 200 字节。会在 onUserJoined 中回调给远端用户。
    RTCRoomConfig

    类型: interface

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

    room_profile_type

    类型: RoomProfileType | undefined

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

    is_auto_publish

    类型: boolean | undefined

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

    is_auto_subscribe_audio

    类型: boolean | undefined

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

    is_auto_subscribe_video

    类型: boolean | undefined

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

    remote_video_config

    类型: RemoteVideoConfig | undefined

    远端视频流参数

    RoomProfileType

    类型: enum

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

    • 成员

      属性值描述
      kRoomProfileTypeCommunication0默认场景,通用模式
      与 kRoomProfileTypeMeeting = 16 配置相同。
      你可以联系技术支持更换默认配置参数。
      kRoomProfileTypeGame2游戏语音模式,低功耗、低流量消耗。
      低端机在此模式下运行时,进行了额外的性能优化:
      + 部分低端机型配置编码帧长 40/60
      + 部分低端机型关闭软件 3A 音频处理
      增强对 iOS 其他屏幕录制进行的兼容性,避免音频录制被 RTC 打断。
      kRoomProfileTypeCloudGame3云游戏模式。
      如果你的游戏场景需要低延迟的配置,使用此设置。
      此设置下,弱网抗性较差。
      kRoomProfileTypeLowLatency4低时延模式。SDK 会使用低延时设置。
      当你的场景非游戏或云游戏场景,又需要极低延时的体验时,可以使用该模式。
      该模式下,音视频通话延时会明显降低,但同时弱网抗性、通话音质等均会受到一定影响。
      在使用此模式前,强烈建议咨询技术支持同学。
      kRoomProfileTypeChat5适用于 1 vs 1 音视频通话
      kRoomProfileTypeChatRoom6适用于 3 人及以上纯语音通话
      音视频通话为媒体模式,上麦时切换为通话模式
      kRoomProfileTypeLwTogether7实现多端同步播放音视频,适用于 “一起看” 或 “一起听” 场景。
      该场景中,使用 RTC 信令同步播放进度,共享的音频内容不通过 RTC 进行传输。
      kRoomProfileTypeGameHD8适用于对音质要求较高的游戏场景,优化音频 3A 策略,只通过媒体模式播放音频
      kRoomProfileTypeCoHost9适用于直播中主播之间连麦的业务场景。
      直播时通过 CDN,发起连麦 PK 时使用 RTC。
      kRoomProfileTypeInteractivePodcast10适用于单主播和观众进行音视频互动的直播。通话模式,上下麦不会有模式切换,避免音量突变现象
      kRoomProfileTypeKTV11线上 KTV 场景,音乐音质,低延迟
      使用 RTC 传输伴奏音乐,混音后的歌声,适合独唱或单通合唱
      kRoomProfileTypeChorus12适合在线实时合唱场景,高音质,超低延迟。使用本配置前请联系技术支持进行协助完成其他配置。
      kRoomProfileTypeVRChat13适用于 VR 场景。支持最高 192 KHz 音频采样率,可开启球形立体声。自 V3.45 及之后版本支持。
      kRoomProfileTypeGameStreaming14适用于 1 vs 1 游戏串流,支持公网或局域网。
      kRoomProfileTypeLanLiveStreaming15适用于局域网的 1 对多视频直播,最高支持 8K, 60 帧/秒, 100 Mbps 码率
      需要在局域网配置私有化部署媒体服务器。
      kRoomProfileTypeMeeting16适用于云端会议中的个人设备
      kRoomProfileTypeMeetingRoom17适用于云端会议中的会议室终端设备,例如 Rooms,投屏盒子等。
      kRoomProfileTypeClassroom18适用于课堂互动,房间内所有成员都可以进行音视频互动
      当你的场景中需要同时互动的成员超过 10 人时使用此模式
    RemoteVideoConfig

    类型: interface

    远端视频帧信息

    framerate

    类型: number | undefined

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

    resolution_width

    类型: number | undefined

    视频宽度,单位:px

    resolution_height

    类型: number | undefined

    视频高度,单位:px

    MediaStreamType

    类型: enum

    媒体流类型

    • 成员

      属性值描述
      kMediaStreamTypeAudio1只控制音频
      kMediaStreamTypeVideo2只控制视频
      kMediaStreamTypeBoth3同时控制音频和视频
    PauseResumeControlMediaType

    类型: enum

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

    • 成员

      属性值描述
      kRTCPauseResumeControlMediaTypeAudio0只控制音频,不影响视频
      kRTCPauseResumeControlMediaTypeVideo1只控制视频,不影响音频
      kRTCPauseResumeControlMediaTypeVideoAndAudio2同时控制音频和视频
    ForwardStreamConfiguration

    类型: interface

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

    forward_stream_dests

    类型: ForwardStreamInfo[]

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

    ForwardStreamInfo

    类型: interface

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

    token

    类型: string

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

    room_id

    类型: string

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

    ReceiveRange

    本地用户能收听到、且具有衰减效果的音频接收范围

    • 类型

      {
        max: number;
        min: number;
      }
      
      ts
    • 成员

      名称类型描述
      maxnumber能够收听语音的最大距离值,该值须 > 0 且 ≥ min。

    当收听者和声源距离处于 [min, max) 之间时,收听到的音量根据距离呈衰减效果。
    超出该值范围的音频将无法收听到。 |

    minnumber能够接收语音、并且具有衰减效果的最小距离值,该值须 ≥ 0,但 ≤ max。
    AttenuationType

    类型: enum

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

    • 成员

      属性值描述
      kAttenuationTypeNone0不随距离衰减
      kAttenuationTypeLinear1线性衰减,音量随距离增大而线性减小
      kAttenuationTypeExponential2指数型衰减,音量随距离增大进行指数衰减
    HumanOrientation

    类型: interface

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

    forward

    类型: Orientation

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

    right

    类型: Orientation

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

    up

    类型: Orientation

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

    Orientation

    类型: interface

    方向朝向信息

    x

    类型: number

    x 方向向量

    y

    类型: number

    y 方向向量

    z

    类型: number

    z 方向向量

    AudioSelectionPriority

    类型: enum

    音频选路优先级设置

    • 成员

      属性值描述
      kAudioSelectionPriorityNormal0正常,参加音频选路
      kAudioSelectionPriorityHigh1高优先级,跳过音频选路
    SubtitleConfig

    类型: interface

    字幕配置信息。

    mode

    类型: SubtitleMode

    字幕模式。

    target_language

    类型: string

    目标翻译语言。可点击 语言支持 查看翻译服务最新支持的语种信息。

    SubtitleMode

    类型: enum

    字幕模式。

    • 成员

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

    类型: interface

    用户在空间音频坐标系里的位置信息。

    position

    类型: Position

    用户在空间音频坐标系里的位置,需自行建立空间直角坐标系。

    orientation

    类型: HumanOrientation

    用户在空间音频坐标系里的三维朝向信息。三个向量需要两两垂直。

    RtcRoomStats

    类型: interface

    通话相关的统计信息

    tx_lostrate

    类型: number

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

    rx_lostrate

    类型: 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_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 通知本地用户发布的音/视频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。

    audio_stats

    类型: LocalAudioStats

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

    video_stats

    类型: LocalVideoStats

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

    is_screen

    类型: boolean

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

    LocalAudioStats

    类型: interface

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

    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 通知用户发布的视频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。

    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 。

    codec_elapse_per_frame

    类型: number

    视频编码平均耗时,单位ms。

    VideoCodecType

    类型: enum

    视频的编码类型

    • 成员

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

    类型: interface

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

    uid

    类型: string

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

    audio_stats

    类型: RemoteAudioStats

    远端音频流的统计信息

    video_stats

    类型: RemoteVideoStats

    远端视频流的统计信息

    is_screen

    类型: boolean

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

    RemoteAudioStats

    类型: interface

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

    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
    通知本地用户订阅的远端视频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。

    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 。

    codec_elapse_per_frame

    类型: number

    视频解码平均耗时,单位 ms。

    StreamRemoveReason

    类型: enum

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

    • 成员

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

    类型: enum

    订阅媒体流状态

    • 成员

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

    类型: interface

    手动订阅流的配置信息。

    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

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

    room_id

    类型: string

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

    state

    类型: ForwardStreamState

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

    error

    类型: ForwardStreamError

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

    ForwardStreamState

    类型: enum

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

    • 成员

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

    类型: interface

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

    room_id

    类型: string

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

    event

    类型: ForwardStreamEvent

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

    ForwardStreamEvent

    类型: enum

    媒体流跨房间转发事件

    • 成员

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

    类型: interface

    上行/下行网络质量

    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网络质量非常差,基本不能沟通。
    SetRoomExtraInfoResult

    类型: enum

    设置房间附加消息结果。

    • 成员

      属性值描述
      kSetRoomExtraInfoResultSuccess0设置房间附加信息成功
      kSetRoomExtraInfoResultErrorNotJoinRoom-1设置失败,尚未加入房间
      kSetRoomExtraInfoResultErrorKeyIsNull-2设置失败,key 指针为空
      kSetRoomExtraInfoResultErrorValueIsNull-3设置失败,value 指针为空
      kSetRoomExtraInfoResultResultUnknow-99设置失败,未知错误
      kSetRoomExtraInfoResultErrorKeyIsEmpty-400设置失败,key 长度为 0
      kSetRoomExtraInfoResultErrorTooOften-406调用 setRoomExtraInfo 过于频繁,建议不超过 10 次/秒。
      kSetRoomExtraInfoResultErrorSilentUser-412设置失败,用户已调用 setUserVisibility 将自身设为不可见状态。
      kSetRoomExtraInfoResultErrorKeyTooLong-413设置失败,Key 长度超过 10 字节
      kSetRoomExtraInfoResultErrorValueTooLong-414设置失败,value 长度超过 128 字节
      kSetRoomExtraInfoResultErrorServer-500设置失败,服务器错误
    SubtitleState

    类型: enum

    字幕任务状态。

    • 成员

      属性值描述
      kSubtitleStateStarted0开启字幕。
      kSubtitleStateStoped1关闭字幕。
      kSubtitleStateError2字幕任务出现错误。
    SubtitleMessage

    类型: interface

    字幕具体内容。

    user_id

    类型: string

    说话者的用户ID。

    text

    类型: string

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

    sequence

    类型: number

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

    definite

    类型: boolean

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

    language

    类型: string

    字幕语种,根据字幕模式为原文或译文对应的语种。

    mode

    类型: SubtitleMode

    字幕模式

    MusicInfo

    类型: interface

    歌曲数据。

    music_id

    类型: string

    音乐 ID。

    music_name

    类型: string

    音乐名称。

    singer

    类型: string

    歌手。

    vendor_id

    类型: string

    版权商 ID。

    vendor_name

    类型: string

    版权商名称。

    update_timestamp

    类型: number

    最新更新时间戳,单位为毫秒。

    poster_url

    类型: string

    封面地址。

    lyric_status

    类型: LyricStatus

    歌词格式类型。

    duration

    类型: number

    歌曲长度,单位为毫秒。

    enable_score

    类型: boolean

    歌曲是否支持打分。

    climax_start_time

    类型: number

    歌曲高潮片段开始时间,单位为毫秒。

    climax_stop_time

    类型: number

    歌曲高潮片段停止时间,单位为毫秒。

    LyricStatus

    类型: enum

    歌词格式类型。

    • 成员

      属性值描述
      kNone0无歌词。
      kKRC1KRC 歌词。
      kLRC2LRC 歌词。
      kKRCAndLRC3KRC 歌词和 LRC 歌词均有。
    HotMusicInfo

    类型: interface

    热榜歌曲数据。

    hot_type

    类型: MusicHotType

    热榜类别。多个热榜类别可以按位或组合。

    hot_name

    类型: string

    热榜名称。

    musics

    类型: MusicInfo[]

    歌曲数据。

    MusicHotType

    类型: enum

    热榜类别。

    • 成员

      属性值描述
      kMusicHotTypeContentCenter火山内容中心热歌榜。
      kMusicHotTypeProject项目热歌榜。
    DownloadResult

    类型: interface

    歌曲下载信息。

    local_file_path

    类型: string

    文件存放路径。

    music_id

    类型: string

    音乐 ID。

    type

    类型: DownloadFileType

    下载文件类型。

    DownloadFileType

    类型: enum

    下载文件类型。

    • 成员

      属性值描述
      kDownloadFileTypeMusic1音频文件。
      kDownloadFileTypeKRC2KRC 歌词文件。
      kDownloadFileTypeLRC3LRC 歌词文件。
      kDownloadFileTypeMIDI4MIDI 文件。
    PlayState

    类型: enum

    音乐播放状态。

    • 成员

      属性值描述
      kPlaying1播放中。
      kPaused2暂停中。
      kStoped3已停止。
      kFailed4播放失败。
      kFinished5播放结束。
    VideoSuperResolutionModeChangedReason

    类型: enum

    超分状态改变原因。

    • 成员

      属性值描述
      kVideoSuperResolutionModeChangedReasonAPIOff0调用 setRemoteVideoSuperResolution 成功关闭超分。
      kVideoSuperResolutionModeChangedReasonAPIOn1调用 setRemoteVideoSuperResolution 成功开启超分。
      kVideoSuperResolutionModeChangedReasonResolutionExceed2开启超分失败,远端视频流的原始视频分辨率超过 640 × 360 px。
      kVideoSuperResolutionModeChangedReasonOverUse3开启超分失败,已对一路远端流开启超分。
      kVideoSuperResolutionModeChangedReasonDeviceNotSupport4设备不支持使用超分辨率。
      kVideoSuperResolutionModeChangedReasonDynamicClose5当前设备性能存在风险,已动态关闭超分。
      kVideoSuperResolutionModeChangedReasonOtherSettingDisabled6超分因其他原因关闭。
      kVideoSuperResolutionModeChangedReasonOtherSettingEnabled7超分因其他原因开启。
      kVideoSuperResolutionModeChangedReasonNoComponent8SDK 没有编译超分组件。
      kVideoSuperResolutionModeChangedReasonStreamNotExist9远端流不存在。房间 ID 或用户 ID 无效,或对方没有发布流。
    RtcUser

    类型: interface

    用户信息

    user_id

    类型: string

    用户 id

    meta_data

    类型: string

    元数据

    FirstFrameSendState

    类型: enum

    首帧发送状态

    • 成员

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

    类型: enum

    首帧播放状态

    • 成员

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

    类型: interface

    人脸检测结果

    detect_result

    类型: number

    人脸检测结果

    face_count

    类型: number

    检测到的人脸的数量

    rect

    类型: Rectangle[]

    识别到人脸的矩形框。数组的长度和检测到的人脸数量一致。

    image_width

    类型: number

    原始图片宽度(px)

    image_height

    类型: number

    原始图片高度(px)

    frame_timestamp_us

    类型: number

    进行人脸识别的视频帧的时间戳。

    RTCAudioDeviceType

    类型: enum

    音频设备类型

    • 成员

      属性值描述
      kRTCAudioDeviceTypeUnknown-1未知设备类型
      kRTCAudioDeviceTypeRenderDevice0音频渲染设备
      kRTCAudioDeviceTypeCaptureDevice1音频采集设备
      kRTCAudioDeviceTypeScreenCaptureDevice2屏幕流音频设备
    SingScoringRealtimeInfo

    类型: interface

    实时评分信息。

    current_position

    类型: number

    当前播放进度。

    user_pitch

    类型: number

    演唱者的音高。

    standard_pitch

    类型: number

    标准音高。

    sentence_index

    类型: number

    歌词分句索引。

    sentence_score

    类型: number

    上一句歌词的评分。

    total_score

    类型: number

    当前演唱的累计分数。

    average_score

    类型: number

    当前演唱的平均分数。

    AudioRecordingState

    类型: enum

    录音配置

    • 成员

      属性值描述
      kAudioRecordingStateError0录制异常
      kAudioRecordingStateProcessing1录制进行中
      kAudioRecordingStateSuccess2已结束录制,并且录制文件保存成功。
    DataMessageSourceType

    类型: enum

    SEI 信息来源。

    • 成员

      属性值描述
      kDataMessageSourceTypeDefault0通过客户端或服务端的插入的自定义消息。
      kDataMessageSourceTypeSystem1系统数据,包含音量指示信息。
    HardwareEchoDetectionResult

    类型: enum

    通话前回声检测结果

    • 成员

      属性值描述
      kHardwareEchoDetectionResultCanceled0主动调用 stopHardwareEchoDetection 结束流程时,未有回声检测结果。
      kHardwareEchoDetectionResultUnknown1未检测出结果。建议重试,如果仍然失败请联系技术支持协助排查。
      kHardwareEchoDetectionResultNormal2无回声
      kHardwareEchoDetectionResultPoor3有回声。可通过 UI 建议用户使用耳机设备入会。
    LocalProxyState

    类型: enum

    本地代理连接状态。

    • 成员

      属性值描述
      kLocalProxyStateInited0TCP 代理服务器连接成功。
      kLocalProxyStateConnected1本地代理连接成功。
      kLocalProxyStateError2本地代理连接出现错误。
    StreamMixingEvent

    类型: enum

    转推直播事件

    • 成员

      属性值描述
      kStreamMixingEventStart1请求发起转推直播任务
      kStreamMixingEventStartSuccess2发起转推直播任务成功
      kStreamMixingEventStartFailed3发起转推直播任务失败
      kStreamMixingEventUpdate4请求更新转推直播任务配置
      kStreamMixingEventUpdateSuccess5成功更新转推直播任务配置
      kStreamMixingEventUpdateFailed6更新转推直播任务配置失败
      kStreamMixingEventStop7请求结束转推直播任务
      kStreamMixingEventStopSuccess8结束转推直播任务成功
      kStreamMixingEventStopFailed9结束转推直播任务失败
      kStreamMixingEventChangeMixType10更新转推直播任务配置的请求超时
      kStreamMixingEventFirstAudioFrameByClientMix11得到客户端合流音频首帧
      kStreamMixingEventFirstVideoFrameByClientMix12收到客户端合流视频首帧
      kStreamMixingEventUpdateTimeout13更新转推直播任务配置超时
      kStreamMixingEventStartTimeout14发起转推直播任务配置超时
      kStreamMixingEventRequestParamError15合流布局参数错误
      kStreamMixingEventMixImageEvent16合流加图片
    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

    类型: VideoPixelFormat

    视频帧数据格式

    rotation

    类型: number

    视频帧旋转角度

    rgba

    类型: Uint8Array

    视频数据缓冲区 RGBA

    rgba_size

    类型: number

    视频数据缓冲区 RGBA 大小

    public_stream_id

    类型: number

    公共流 ID

    task_id

    类型: string

    合流任务 ID

    IAudioFrame

    类型: interface

    设置音频帧

    frame_type

    类型: AudioFrameType

    值: 0

    音频帧类型。目前只支持 PCM

    channels

    类型: number

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

    sample_rate

    类型: number

    音频采样率,单位:Hz

    buffer

    类型: Uint8Array

    音频数据内存地址

    render_time_ms

    类型: number

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

    mute

    类型: boolean

    获取音频静音标志

    IDataFrame

    类型: interface

    数据帧

    frame_type

    类型: DataFrameType

    值: 0

    数据帧类型

    u8_data

    类型: Uint8Array

    数据帧数据

    u64_ts_us

    类型: number

    数据帧时间戳,单位:微秒

    VideoFrameInfo

    类型: interface

    视频帧信息

    width

    类型: number

    视频帧的宽度(像素)

    height

    类型: number

    视频帧的高度(像素)

    rotation

    类型: VideoRotation

    视频帧顺时针旋转角度。

    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

    性能回退相关数据

    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

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

    RemoteStreamSwitch

    类型: interface

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

    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

    本地音频流状态。

    • 成员

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

    类型: enum

    远端音频流状态。

    • 成员

      属性值描述
      kRemoteAudioStateStopped0不接收远端音频流。
      kRemoteAudioStateStarting1
      kRemoteAudioStateDecoding2
      kRemoteAudioStateFrozen3远端音频流卡顿。
    RemoteAudioStateChangeReason

    类型: enum

    接收远端音频流状态改变的原因。

    • 成员

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

    类型: enum

    本地视频流状态

    • 成员

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

    类型: enum

    远端视频流状态。

    • 成员

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

    类型: enum

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

    • 成员

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

    类型: enum

    转推直播事件

    • 成员

      属性值描述
      kSingleStreamPushEventStart1开始推流。
      kSingleStreamPushEventSuccess2推流成功。
      kSingleStreamPushEventFailed3推流失败。
      kSingleStreamPushEventStop4停止推流。
      kSingleStreamPushEventTimeout5单流转推直播任务处理超时,请检查网络状态并重试。
      kSingleStreamPushEventParamError6参数错误。
    RecordingInfo

    类型: interface

    本地录制的详细信息

    file_path

    类型: string

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

    video_codec_type

    类型: VideoCodecType

    录制文件的视频编码类型

    width

    类型: number

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

    height

    类型: number

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

    RecordingProgress

    类型: interface

    本地录制进度

    duration

    类型: number

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

    file_size

    类型: number

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

    LogoutReason

    类型: enum

    用户登出的原因

    • 成员

      属性值描述
      kLogoutReasonLogout0用户主动退出
      用户调用 logout 接口登出,或者销毁引擎登出。
      kLogoutReasonDuplicateLogin1用户被动退出
      另一个用户以相同 UserId 进行了 login,导致本端用户被踢出。
    LocalAudioPropertiesInfo

    类型: interface

    本地音频属性信息

    stream_index

    类型: StreamIndex

    流属性,主流或屏幕流。

    audio_properties_info

    类型: AudioPropertiesInfo

    音频属性信息,

    AudioPropertiesInfo

    类型: interface

    音频属性信息

    linear_volume

    类型: number

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

    nonlinear_volume

    类型: number

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

    vad

    类型: number

    人声检测(VAD)结果

    • 1: 检测到人声。
    • 0: 未检测到人声。
    • -1: 未开启 VAD。

    spectrum

    类型: number[]

    频谱数组。默认长度为 257。

    voice_pitch

    类型: number

    本地用户的人声基频,单位为赫兹。
    同时满足以下两个条件时,返回的值为本地用户的人声基频:

    • 调用 enableAudioPropertiesReport,并设置参数 enable_voice_pitch 的值为 true。
    • 本地采集的音频中包含本地用户的人声。
      其他情况下返回 0。
    RemoteAudioPropertiesInfo

    类型: interface

    远端音频属性信息

    stream_key

    类型: RemoteStreamKey

    流属性,主流或屏幕流。

    audio_properties_info

    类型: AudioPropertiesInfo

    音频属性信息

    EchoTestResult

    类型: enum

    音视频回路测试结果

    • 成员

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

    类型: enum

    媒体设备警告

    • 成员

      属性值描述
      kMediaDeviceWarningOK0无警告
      kMediaDeviceWarningOperationDenied1非法设备操作。在使用外部设备时,调用了 SDK 内部设备 API。
      kMediaDeviceWarningCaptureSilence2采集静音。
      kMediaDeviceWarningDetectLeakEcho11通话中出现回声现象。
      当 RoomProfileType 为 kRoomProfileTypeMeeting 和
      kRoomProfileTypeMeetingRoom,且 AEC 关闭时,SDK 自动启动回声检测,如果检测到回声问题,将通过
      onAudioDeviceWarning 返回本枚举值。
      kMediaDeviceWarningCaptureDetectHowling16啸叫。触发该回调的情况如下:1)不支持啸叫抑制的房间模式下,检测到啸叫;2)支持啸叫抑制的房间模式下,检测到未被抑制的啸叫。
      仅 kRoomProfileTypeCommunication、kRoomProfileTypeMeeting、kRoomProfileTypeMeetingRoom
      三种房间模式支持啸叫抑制。 建议提醒用户检查客户端的距离或将麦克风和扬声器调至静音。
    SEIStreamEventType

    类型: enum

    黑帧视频流状态

    • 成员

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

    类型: enum

    播放状态。

    • 成员

      属性值描述
      kPlayerStateIdle0播放未启动
      kPlayerStatePreloaded1已加载
      kPlayerStateOpened2播放文件已打开
      kPlayerStatePlaying3正在播放
      kPlayerStatePaused4播放已暂停
      kPlayerStateStopped5播放已停止
      kPlayerStateFailed6播放失败