RTCRoomConfig

类型: interface

房间参数配置

名称 描述
room_profile_type 房间模式,默认为普通音视频通话模式,进房后不可更改。
is_auto_publish 是否自动发布音视频流,默认为自动发布。
创建和加入多房间时,只能将其中一个房间设置为自动发布。
若调用 setUserVisibility 将自身可见性设为 false,无论是默认的自动发布流还是手动设置的自动发布流都不会进行发布,你需要将自身可见性设为 true 后方可发布。
is_auto_subscribe_audio 是否自动订阅音频流,默认为自动订阅。
进房后,你可以调用 subscribeStream 修改订阅设置。
is_auto_subscribe_video 是否自动订阅主视频流,默认为自动订阅。
进房后,你可以调用 subscribeStream 修改订阅设置。
remote_video_config 远端视频流参数

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

房间模式
TODO:这里之前应该是说不需要这么多种

属性 值 描述
kRoomProfileTypeCommunication 0 普通音视频通话模式。
你应在 1V1 音视频通话时,使用此设置。
此设置下,弱网抗性较好。
kRoomProfileTypeGame 2 游戏语音模式,低功耗、低流量消耗。

低端机在此模式下运行时,进行了额外的性能优化:

+ 部分低端机型配置编码帧长 40/60

+ 部分低端机型关闭软件 3A 音频处理

增强对 iOS 其他屏幕录制进行的兼容性,避免音频录制被 RTC 打断。
kRoomProfileTypeCloudGame 3 云游戏模式。
如果你的游戏场景需要低延迟的配置,使用此设置。
此设置下,弱网抗性较差。
kRoomProfileTypeLowLatency 4 低时延模式。SDK 会使用低延时设置。
当你的场景非游戏或云游戏场景,又需要极低延时的体验时,可以使用该模式。
该模式下,音视频通话延时会明显降低,但同时弱网抗性、通话音质等均会受到一定影响。
在使用此模式前,强烈建议咨询技术支持同学。
kRoomProfileTypeChat 5 适用于 1 vs 1 音视频通话
kRoomProfileTypeChatRoom 6 适用于 3 人及以上纯语音通话

音视频通话为媒体模式,上麦时切换为通话模式
kRoomProfileTypeLwTogether 7 实现多端同步播放音视频,适用于 “一起看” 或 “一起听” 场景。

该场景中,使用 RTC 信令同步播放进度,共享的音频内容不通过 RTC 进行传输。
kRoomProfileTypeGameHD 8 适用于对音质要求较高的游戏场景,优化音频 3A 策略,只通过媒体模式播放音频
kRoomProfileTypeCoHost 9 适用于直播中主播之间连麦的业务场景。

直播时通过 CDN,发起连麦 PK 时使用 RTC。
kRoomProfileTypeInteractivePodcast 10 适用于单主播和观众进行音视频互动的直播。通话模式,上下麦不会有模式切换,避免音量突变现象
kRoomProfileTypeKTV 11 线上 KTV 场景,音乐音质,低延迟

使用 RTC 传输伴奏音乐,混音后的歌声,适合独唱或单通合唱
kRoomProfileTypeChorus 12 适合在线实时合唱场景,高音质,超低延迟。使用本配置前请联系技术支持进行协助完成其他配置。
kRoomProfileTypeGameStreaming 14 适用于 1 vs 1 游戏串流,支持公网或局域网。
kRoomProfileTypeLanLiveStreaming 15 适用于局域网的 1 对多视频直播,最高支持 8K, 60 帧/秒, 100 Mbps 码率

需要在局域网配置私有化部署媒体服务器。
kRoomProfileTypeMeeting 16 适用于云端会议中的个人设备
kRoomProfileTypeMeetingRoom 17 适用于云端会议中的会议室终端
kRoomProfileTypeClassroom 18 适用于课堂互动,房间内所有成员都可以进行音视频互动

当你的场景中需要同时互动的成员超过 10人时使用此模式

RemoteVideoConfig

类型: interface

远端视频帧信息

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

framerate

类型: number

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

resolution_width

类型: number

视频宽度,单位:px

resolution_height

类型: number

视频高度,单位:px

MediaStreamType

类型: enum

媒体流类型

属性 值 描述
kMediaStreamTypeAudio 1 只控制音频
kMediaStreamTypeVideo 2 只控制视频
kMediaStreamTypeBoth 3 同时控制音频和视频

PauseResumeControlMediaType

类型: enum

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

属性 值 描述
kRTCPauseResumeControlMediaTypeAudio 0 只控制音频,不影响视频
kRTCPauseResumeControlMediaTypeVideo 1 只控制视频,不影响音频
kRTCPauseResumeControlMediaTypeVideoAndAudio 2 同时控制音频和视频

MessageConfig

类型: enum

发送消息的可靠有序性

属性 值 描述
kMessageConfigReliableOrdered 0 低延时可靠有序消息
kMessageConfigUnreliableOrdered 1 超低延时有序消息
kMessageConfigUnreliableUnordered 2 超低延时无序消息

ForwardStreamConfiguration

类型: interface

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

名称 描述
forward_stream_dests 目标房间信息,数组中的每个元素包含一个房间的信息。
dest_count 目标房间数量。媒体流同时转发的目标房间数量建议小于等于 4 个。

forward_stream_dests

类型: ForwardStreamInfo[]

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

dest_count

类型: number

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

ForwardStreamInfo

类型: interface

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

名称 描述
token 使用转发目标房间 RoomID 和 UserID 生成 Token。
测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。
如果 Token 无效,转发失败。
room_id 跨房间转发媒体流过程中目标房间 ID

token

类型: string

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

room_id

类型: string

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

AttenuationType

类型: enum

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

属性 值 描述
kAttenuationTypeNone 0 不随距离衰减
kAttenuationTypeLinear 1 线性衰减,音量随距离增大而线性减小
kAttenuationTypeExponential 2 指数型衰减,音量随距离增大进行指数衰减

HumanOrientation

类型: interface

三维朝向信息,三个向量需要两两垂直。参看 Orientation(#orientation)。

名称 描述
forward 正前方朝向,默认值为 {1,0,0},即正前方朝向 x 轴正方向
right 正右方朝向,默认值为 {0,1,0},即右手朝向 y 轴正方向
up 正上方朝向,默认值为 {0,0,1},即头顶朝向 z 轴正方向

forward

类型: Orientation

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

类型: Orientation

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

up

类型: Orientation

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

Orientation

类型: interface

方向朝向信息

名称 描述
x x 方向向量
y y 方向向量
z z 方向向量

x

类型: number

x 方向向量

y

类型: number

y 方向向量

z

类型: number

z 方向向量

ProblemFeedbackOption

类型: enum

反馈信息类型

属性 值 描述
kProblemFeedbackOptionNone 0 没有问题
kProblemFeedbackOptionOtherMessage 1 其他问题
kProblemFeedbackOptionAudioNotClear 2 声音不清晰
kProblemFeedbackOptionVideoNotClear 3 视频不清晰
kProblemFeedbackOptionNotSync 4 音视频不同步
kProblemFeedbackOptionAudioLagging 5 音频卡顿
kProblemFeedbackOptionVideoLagging 6 视频卡顿
kProblemFeedbackOptionDisconnected 7 连接失败
kProblemFeedbackOptionNoAudio 8 无声音
kProblemFeedbackOptionNoVideo 9 无画面
kProblemFeedbackOptionAudioStrength 10 声音过小
kProblemFeedbackOptionEcho 11 回声噪音
KFeedbackOptionEarBackDelay 12 耳返延迟大

EchoTestConfig

类型: interface

音视频回路测试

名称 描述
audioPropertiesReportInterval 音量信息提示间隔,单位:ms,默认为 100ms
+ <= 0: 关闭信息提示
+ (0,100]: 开启信息提示,不合法的 interval 值,SDK 自动设置为 100ms
+ > 100: 开启信息提示,并将信息提示间隔设置为此值
uid 进行音视频通话回路测试的用户 ID
roomId 测试用户加入的房间 ID。
token 对用户进房时进行鉴权验证的动态密钥,用于保证音视频通话回路测试的安全性。

audioPropertiesReportInterval

类型: number

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

uid

类型: string

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

roomId

类型: string

测试用户加入的房间 ID。

token

类型: string

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

VideoEncoderConfig

类型: interface

视频流参数

名称 描述
width 视频宽度,单位:像素
height 视频高度,单位:像素
frameRate 视频帧率,单位:fps
maxBitrate 最大发送编码码率(kbps),建议使用默认的自动码率。
  • -1: 自动码率
  • 0: 不开启上限
  • >0: 填写预估码率
  • encoderPreference 视频编码质量策略,详见 EncodePreference

    width

    类型: number

    视频宽度,单位:像素

    height

    类型: number

    视频高度,单位:像素

    frameRate

    类型: number

    视频帧率,单位:fps

    maxBitrate

    类型: number

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

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

    类型: VideoEncodePreference

    视频编码质量策略,详见 EncodePreference

    VideoEncodePreference

    类型: enum

    编码策略偏好

    属性 值 描述
    kVideoEncodePreferenceDisabled 0 无偏好
    kVideoEncodePreferenceFramerate 1 帧率优先
    kVideoEncodePreferenceQuality 2 质量优先
    kVideoEncodePreferenceBalance 3 平衡质量与帧率

    MirrorType

    类型: enum

    镜像类型

    属性 值 描述
    kMirrorTypeNone 0 本地预览和编码传输时均无镜像效果
    kMirrorTypeRender 1 本地预览时有镜像效果,编码传输时无镜像效果
    kMirrorTypeRenderAndEncoder 3 本地预览和编码传输时均有镜像效果

    EffectBeautyMode

    类型: enum

    基础美颜模式

    属性 值 描述
    kEffectBeautyWhite 0 美白
    kEffectBeautySmooth 1 磨皮
    kEffectBeautySharpen 2 锐化

    TranscoderParam

    类型: interface

    转推直播参数

    名称 描述
    roomID 当前房间 ID
    userID 当前用户 ID
    uri 背景图片地址
    audioParam 音频参数
    videoParam 视频参数
    layoutRegions 布局设置
    backgroundColor 背景颜色
    appData 设置透传的 App 数据

    roomID

    类型: string

    当前房间 ID

    userID

    类型: string

    当前用户 ID

    uri

    类型: string

    背景图片地址

    audioParam

    类型: TranscoderAudioParam

    音频参数

    videoParam

    类型: TranscoderVideoParam

    视频参数

    layoutRegions

    类型: TranscoderLayoutRegion[]

    布局设置

    backgroundColor

    类型: string

    背景颜色

    appData

    类型: string

    设置透传的 App 数据

    TranscoderAudioParam

    类型: interface

    音频转码配置参数

    名称 描述
    i32_sample_rate 音频采样率,单位 kHz。可取 32Khz、44.1Khz、48Khz,默认值为 48Khz。
    i32_channel_num 音频声道数。可取 1、2,默认值为 2。
    i32_bitrate_kbps 音频码率,单位 Kbps。可取范围 [32Kbps, 192Kbps],默认值为 64Kbps。
    audio_codec_profile AAC 等级。默认值为 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 等级

    属性 值 描述
    kByteAACProfileLC 0 AAC-LC
    kByteAACProfileMain 1 AAC-MAIN
    kByteAACProfileHEv1 2 HE-AAC v1
    kByteAACProfileHEv2 3 HE-AAC v2

    TranscoderVideoParam

    类型: interface

    合流视频转码参数

    名称 描述
    i32_width 合流视频宽度,单位:px。
    仅支持设为偶数,如果设为奇数,后处理会直接拒绝,导致合流失败。
    i32_height 合流视频高度,单位:px。
    仅支持设为偶数,如果设为奇数,后处理会直接拒绝,导致合流失败。
    i32_fps 合流的视频帧率。默认值为 15,取值范围是 [1, 60]。值不合法时,自动调整为默认值。
    i32_gop I 帧间隔。默认值为 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

    转推直播视频编码参数

    属性 值 描述
    kByteH264ProfileBaseline 0 H264 格式基本规格编码
    kByteH264ProfileMain 1 H264 格式主流规格编码
    kByteH264ProfileHigh 2 H264 格式高规格编码
    kByteVC1ProfileBaseline 3 ByteVC1 格式基本规格编码
    kByteVC1ProfileMain 4 ByteVC1 格式主流规格编码
    kByteVC1ProfileHigh 5 ByteVC1 格式高规格编码

    TranscoderLayoutRegion

    类型: interface

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

    名称 描述
    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

    合流输出内容类型

    属性 值 描述
    kHasAudioAndVideo 0 音视频
    kHasAudioOnly 1 音频
    kHasVideoOnly 2 视频

    TranscoderRenderMode

    类型: enum

    转推直播视频渲染模式

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

    ScreenCaptureSourceInfo

    类型: interface

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

    名称 描述
    type 共享对象类型,屏幕或应用窗体
    source_id 共享对象 ID
    source_name 屏幕共享对象的名称
    application 应用名称,采集源为应用窗体有效
    primaryMonitor 是否主屏,当共享对象为屏幕时有效
    x 共享对象 x 坐标。多显示器的场景下,屏幕坐标系统以主屏左上角为原点 (0, 0),向右向下扩展。
    y 共享对象 y 坐标。多显示器的场景下,屏幕坐标系统以主屏左上角为原点 (0, 0),向右向下扩展。
    width 共享对象宽度
    height 共享对象高度
    pid 共享的应用窗体所属应用进程的 pid
    当共享对象为应用窗体时有效

    type

    类型: ScreenCaptureSourceType

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

    source_id

    类型: number

    共享对象 ID

    source_name

    类型: string

    屏幕共享对象的名称

    application

    类型: string

    应用名称,采集源为应用窗体有效

    primaryMonitor

    类型: boolean

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

    x

    类型: number

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

    y

    类型: number

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

    width

    类型: number

    共享对象宽度

    height

    类型: number

    共享对象高度

    pid

    类型: number

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

    ScreenCaptureSourceType

    类型: enum

    屏幕采集对象的类型

    属性 值 描述
    kScreenCaptureSourceTypeUnknown 0 类型未知
    kScreenCaptureSourceTypeWindow 1 应用程序的窗口
    kScreenCaptureSourceTypeScreen 2 桌面

    ScreenCaptureParameters

    类型: interface

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

    名称 描述
    region_rect 采集区域
    capture_mouse_cursor 是否采集鼠标状态
    filter_config 屏幕过滤设置,填写不需要采集的窗口 ID
    highlight_config 采集区域的边框高亮设置

    region_rect

    类型: Rectangle

    采集区域

    capture_mouse_cursor

    类型: MouseCursorCaptureState

    是否采集鼠标状态

    filter_config

    类型: number[]

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

    highlight_config

    类型: HighlightConfig

    采集区域的边框高亮设置

    Rectangle

    类型: interface

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

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

    x

    类型: number

    矩形区域左上角的 x 坐标

    y

    类型: number

    矩形区域左上角的 y 坐标

    width

    类型: number

    矩形宽度

    height

    类型: number

    矩形高度

    MouseCursorCaptureState

    类型: enum

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

    属性 值 描述
    kMouseCursorCaptureStateOn 0 采集鼠标信息
    kMouseCursorCaptureStateOff 1 不采集鼠标信息

    HighlightConfig

    类型: interface

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

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

    enableHighlight

    类型: boolean

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

    borderColor

    类型: number

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

    borderWidth

    类型: number

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

    AudioMixingConfig

    类型: interface

    混音配置

    名称 描述
    type 混音播放类型
    play_count 混音播放次数,
    position 混音时音频文件播放进度条位置,参数为整数,单位为毫秒
    callback_on_progress_interval 设置音频文件播放进度回调的时间间隔,单位毫秒,并按照设置的值触发 onAudioMixingPlayingProgress 回调,默认不回调。

    type

    类型: AudioMixingType

    混音播放类型

    play_count

    类型: number

    混音播放次数,

    position

    类型: number

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

    callback_on_progress_interval

    类型: number

    设置音频文件播放进度回调的时间间隔,单位毫秒,并按照设置的值触发 onAudioMixingPlayingProgress 回调,默认不回调。

    AudioMixingType

    类型: enum

    混音播放类型

    属性 值 描述
    kAudioMixingTypePlayout 0 仅本地播放
    kAudioMixingTypePublish 1 仅远端播放
    kAudioMixingTypePlayoutAndPublish 2 本地和远端同时播放

    AudioMixingDualMonoMode

    类型: enum

    混音播放声道类型

    属性 值 描述
    kAudioMixingDualMonoModeAuto 0 和音频文件一致
    kAudioMixingDualMonoModeL 1 只能听到音频文件中左声道的音频
    kAudioMixingDualMonoModeR 2 只能听到音频文件中右声道的音频
    kAudioMixingDualMonoModeMix 4 能同时听到音频文件中左右声道的音频

    RTCASRConfig

    类型: interface

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

    名称 描述
    app_id 应用 ID
    user_id 用户 ID
    authorization_type 鉴权方式
    + 0: Token 鉴权
    + 1: Signature 鉴权
    access_token 访问令牌
    secret_key 私钥。Signature 鉴权模式下不能为空,token 鉴权模式下为空。参看关于鉴权
    cluster 场景信息,参看业务集群

    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

    场景信息,参看业务集群

    RecordingConfig

    类型: interface

    本地录制参数配置

    名称 描述
    dir_path 录制文件保存的绝对路径。你需要指定一个有读写权限的合法路径。
    file_type 录制存储文件格式
    aac : 0
    mp4 : 1
    recording_type 录制媒体类型
    只录制音频 : 0
    只录制视频 : 1
    同时录制音频和视频: 2

    dir_path

    类型: string

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

    file_type

    类型: number

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

    recording_type

    类型: number

    录制媒体类型
    只录制音频 : 0
    只录制视频 : 1
    同时录制音频和视频: 2

    RemoteUserPriority

    类型: enum

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

    属性 值 描述
    kRemoteUserPriorityLow 0 用户优先级为低(默认值)
    kRemoteUserPriorityMedium 100 用户优先级为正常
    kRemoteUserPriorityHigh 200 用户优先级为高

    VirtualBackgroundSource

    类型: interface

    虚拟背景对象。

    名称 描述
    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

    虚拟背景类型。

    属性 值 描述
    kVirtualBackgroundSourceColor 0 使用纯色背景替换视频原有背景。
    kVirtualBackgroundSourceImage 1 使用自定义图片替换视频原有背景。

    RTCWatermarkConfig

    类型: interface

    水印参数

    名称 描述
    visibleInPreview 水印是否在视频预览中可见,默认可见。
    positionInLandscapeMode 横屏时的水印位置和大小
    positionInPortraitMode 视频编码的方向模式为竖屏时的水印位置和大小

    visibleInPreview

    类型: boolean

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

    positionInLandscapeMode

    类型: ByteWatermark

    横屏时的水印位置和大小

    positionInPortraitMode

    类型: ByteWatermark

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

    ByteWatermark

    类型: interface

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

    名称 描述
    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

    本地渲染选项

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

    renderMode

    类型: RenderMode

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

    mirror

    类型: boolean

    是否镜像渲染

    RenderMode

    类型: enum

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

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

    IVideoFrame

    类型: interface

    设置视频帧

    名称 描述
    channelId 频道 ID
    userId 用户 ID
    planeY 视频数据缓冲区 Y
    planeU 视频数据缓冲区 U
    planeV 视频数据缓冲区 V
    width 视频分辨率宽度,单位:像素
    height 视频分辨率高度,单位:像素
    planeSizeY 视频数据缓冲区 Y 大小
    planeSizeU 视频数据缓冲区 U 大小
    planeSizeV 视频数据缓冲区 V 大小
    format 视频帧数据格式
    rotation 视频帧旋转角度

    channelId

    类型: string

    频道 ID

    userId

    类型: string

    用户 ID

    planeY

    类型: Uint8Array

    视频数据缓冲区 Y

    planeU

    类型: Uint8Array

    视频数据缓冲区 U

    planeV

    类型: Uint8Array

    视频数据缓冲区 V

    width

    类型: number

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

    height

    类型: number

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

    planeSizeY

    类型: number

    视频数据缓冲区 Y 大小

    planeSizeU

    类型: number

    视频数据缓冲区 U 大小

    planeSizeV

    类型: number

    视频数据缓冲区 V 大小

    format

    类型: number

    视频帧数据格式

    rotation

    类型: number

    视频帧旋转角度

    AudioMixingState

    类型: enum

    音频混音文件播放状态。

    属性 值 描述
    kAudioMixingStatePreloaded 0 混音已加载
    kAudioMixingStatePlaying 1 混音正在播放
    kAudioMixingStatePaused 2 混音暂停
    kAudioMixingStateStopped 3 混音停止
    kAudioMixingStateFailed 4 混音播放失败
    kAudioMixingStateFinished 5 混音播放结束

    AudioMixingError

    类型: enum

    音频混音文件播放错误码。

    属性 值 描述
    kAudioMixingErrorOk 0 正常
    kAudioMixingErrorPreloadFailed 1 预加载失败,找不到混音文件或者文件长度超出 20s
    kAudioMixingErrorStartFailed 2 混音开启失败,找不到混音文件或者混音文件打开失败
    kAudioMixingErrorIdNotFound 3 混音 ID 异常
    kAudioMixingErrorSetPositionFailed 4 设置混音文件的播放位置出错
    kAudioMixingErrorInValidVolume 5 音量参数不合法,仅支持设置的音量值为[0 400]
    kAudioMixingErrorLoadConflict 6 播放的文件与预加载的文件不一致,请先使用 unloadAudioMixing 卸载文件
    kAudioMixingErrorIdTypeNotMatch 7 不支持此混音类型。
    kAudioMixingErrorInValidPitch 8 设置混音文件的音调不合法
    kAudioMixingErrorInValidAudioTrack 9 设置混音文件的音轨不合法
    kAudioMixingErrorIsStarting 10 混音文件正在启动中
    kAudioMixingErrorInValidPlaybackSpeed 11 设置混音文件的播放速度不合法

    ConnectionState

    类型: enum

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

    属性 值 描述
    kConnectionStateDisconnected 1 连接断开。
    kConnectionStateConnecting 2 首次连接,正在连接中。
    kConnectionStateConnected 3 首次连接成功。
    kConnectionStateReconnecting 4 连接断开后重新连接中。
    kConnectionStateReconnected 5 连接断开后重连成功。
    kConnectionStateLost 6 网络连接断开超过 10 秒,仍然会继续重连。

    NetworkType

    类型: enum

    SDK 网络连接类型。

    属性 值 描述
    kNetworkTypeUnknown -1 网络连接类型未知。
    kNetworkTypeDisconnected 0 网络连接已断开。
    kNetworkTypeLAN 1 网络连接类型为 LAN 。
    kNetworkTypeWIFI 2 网络连接类型为 Wi-Fi(包含热点)。
    kNetworkTypeMobile2G 3 网络连接类型为 2G 移动网络。
    kNetworkTypeMobile3G 4 网络连接类型为 3G 移动网络。
    kNetworkTypeMobile4G 5 网络连接类型为 4G 移动网络。
    kNetworkTypeMobile5G 6 网络连接类型为 5G 移动网络。

    PerformanceAlarmMode

    类型: enum

    是否开启发布性能回退

    属性 值 描述
    kPerformanceAlarmModeNormal 0 未开启发布性能回退
    kPerformanceAlarmModeSimulcast 1 已开启发布性能回退

    PerformanceAlarmReason

    类型: enum

    onPerformanceAlarms 告警的原因

    属性 值 描述
    kPerformanceAlarmReasonBandwidthFallbacked 0 网络原因差,造成了发送性能回退。仅在开启发送性能回退时,会收到此原因。
    kPerformanceAlarmReasonBandwidthResumed 1 网络性能恢复,发送性能回退恢复。仅在开启发送性能回退时,会收到此原因。
    kPerformanceAlarmReasonPerformanceFallbacked 2 如果未开启发送性能回退,收到此告警时,意味着性能不足;如果开启了发送性能回退,收到此告警时,意味着性能不足,且已发生发送性能回退。
    kPerformanceAlarmReasonPerformanceResumed 3 如果未开启发送性能回退,收到此告警时,意味着性能不足已恢复; 如果开启了发送性能回退,收到此告警时,意味着性能不足已恢复,且已发生发送性能回退恢复。

    SysStats

    类型: interface

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

    名称 描述
    cpu_cores 当前系统 CPU 核数
    cpu_app_usage 当前应用的 cpu 使用率,取值范围为 [0, 1]。
    cpu_total_usage 当前系统的 cpu 使用率,取值范围为 [0, 1]。
    memory_usage 当前应用的内存使用量(单位 MB)
    full_memory 全量内存(单位字节)
    total_memory_usage 系统已使用内存(单位字节)
    free_memory 空闲可分配内存(单位字节)
    memory_ratio 当前应用的内存使用率(单位 %)
    total_memory_ratio 系统内存使用率(单位 %)

    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

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

    StreamIndex

    类型: enum

    流属性

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

    RemoteStreamKey

    类型: interface

    远端流信息

    名称 描述
    room_id 房间 ID
    user_id 用户 ID
    stream_index 流属性,主流或屏幕流。

    room_id

    类型: string

    房间 ID

    user_id

    类型: string

    用户 ID

    stream_index

    类型: StreamIndex

    流属性,主流或屏幕流。

    RemoteStreamSwitch

    类型: interface

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

    名称 描述
    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 其他原因,非带宽和性能原因引起的回退或恢复。默认值
    kFallbackOrRecoverReasonSubscribeFallbackByBandwidth 0 由带宽不足导致的订阅端音视频流回退。
    kFallbackOrRecoverReasonSubscribeFallbackByPerformance 1 由性能不足导致的订阅端音视频流回退。
    kFallbackOrRecoverReasonSubscribeRecoverByBandwidth 2 由带宽恢复导致的订阅端音视频流恢复。
    kFallbackOrRecoverReasonSubscribeRecoverByPerformance 3 由性能恢复导致的订阅端音视频流恢复。
    kFallbackOrRecoverReasonPublishFallbackByBandwidth 4 由带宽不足导致的发布端音视频流回退。
    kFallbackOrRecoverReasonPublishFallbackByPerformance 5 由性能不足导致的发布端音视频流回退。
    kFallbackOrRecoverReasonPublishRecoverByBandwidth 6 由带宽恢复导致的发布端音视频流恢复。
    kFallbackOrRecoverReasonPublishRecoverByPerformance 7 由性能恢复导致的发布端音视频流恢复。

    VideoFrameInfo

    类型: interface

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

    width

    类型: number

    宽(像素)

    height

    类型: number

    高(像素)

    rotation

    类型: VideoRotation

    视频帧顺时针旋转角度。

    VideoRotation

    类型: enum

    视频帧旋转角度

    属性 值 描述
    kVideoRotation0 0 顺时针旋转 0 度
    kVideoRotation90 90 顺时针旋转 90 度
    kVideoRotation180 180 顺时针旋转 180 度
    kVideoRotation270 270 顺时针旋转 270 度

    LocalAudioStreamState

    类型: enum

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

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

    RemoteAudioState

    类型: enum

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

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

    RemoteAudioStateChangeReason

    类型: enum

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

    属性 值 描述
    kRemoteAudioStateChangeReasonInternal 0 内部原因
    kRemoteAudioStateChangeReasonNetworkCongestion 1 网络阻塞
    kRemoteAudioStateChangeReasonNetworkRecovery 2 网络恢复正常
    kRemoteAudioStateChangeReasonLocalMuted 3 本地用户停止接收远端音频流
    kRemoteAudioStateChangeReasonLocalUnmuted 4 本地用户恢复接收远端音频流
    kRemoteAudioStateChangeReasonRemoteMuted 5 远端用户停止发送音频流
    kRemoteAudioStateChangeReasonRemoteUnmuted 6 远端用户恢复发送音频流
    kRemoteAudioStateChangeReasonRemoteOffline 7 远端用户离开房间

    LocalVideoStreamState

    类型: enum

    本地视频流状态

    属性 值 描述
    kLocalVideoStreamStateStopped 0 本地视频采集停止状态
    kLocalVideoStreamStateRecording 1 本地视频采集设备启动成功
    kLocalVideoStreamStateEncoding 2 本地视频采集后,首帧编码成功
    kLocalVideoStreamStateFailed 3 本地视频采集设备启动失败

    LocalVideoStreamError

    类型: enum

    本地视频状态改变时的错误码

    属性 值 描述
    kLocalVideoStreamErrorOk 0 状态正常
    kLocalVideoStreamErrorFailure 1 本地视频流发布失败
    kLocalVideoStreamErrorDeviceNoPermission 2 没有权限启动本地视频采集设备
    kLocalVideoStreamErrorDeviceBusy 3 本地视频采集设备被占用
    kLocalVideoStreamErrorDeviceNotFound 4 本地视频采集设备不存在
    kLocalVideoStreamErrorCaptureFailure 5 本地视频采集失败,建议检查采集设备是否正常工作
    kLocalVideoStreamErrorEncodeFailure 6 本地视频编码失败
    kLocalVideoStreamErrorDeviceDisconnected 7 本地视频采集设备被移除

    RemoteVideoState

    类型: enum

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

    属性 值 描述
    kRemoteVideoStateStopped 0 远端视频流默认初始状态,视频尚未开始播放。
    kRemoteVideoStateStarting 1 本地用户已接收远端视频流首包。
    kRemoteVideoStateDecoding 2 远端视频流正在解码,正常播放。
    kRemoteVideoStateFrozen 3 远端视频流卡顿,可能有网络等原因。
    kRemoteVideoStateFailed 4 远端视频流播放失败。

    RemoteVideoStateChangeReason

    类型: enum

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

    属性 值 描述
    kRemoteVideoStateChangeReasonInternal 0 内部原因
    kRemoteVideoStateChangeReasonNetworkCongestion 1 网络阻塞
    kRemoteVideoStateChangeReasonNetworkRecovery 2 网络恢复正常
    kRemoteVideoStateChangeReasonLocalMuted 3 本地用户停止接收远端视频流或本地用户禁用视频模块
    kRemoteVideoStateChangeReasonLocalUnmuted 4 本地用户恢复接收远端视频流或本地用户启用视频模块
    kRemoteVideoStateChangeReasonRemoteMuted 5 远端用户停止发送视频流或远端用户禁用视频模块
    kRemoteVideoStateChangeReasonRemoteUnmuted 6 远端用户恢复发送视频流或远端用户启用视频模块
    kRemoteVideoStateChangeReasonRemoteOffline 7 远端用户离开频道。
    状态转换参考 onStreamRemove(events.html#onstreamremove)

    RtcUser

    类型: interface

    用户信息

    名称 描述
    user_id 用户 id
    meta_data 元数据

    user_id

    类型: string

    用户 id

    meta_data

    类型: string

    元数据

    FirstFrameSendState

    类型: enum

    首帧发送状态

    属性 值 描述
    kFirstFrameSendStateSending 0 发送中
    kFirstFrameSendStateSent 1 发送成功
    kFirstFrameSendStateEnd 2 发送失败

    FirstFramePlayState

    类型: enum

    首帧播放状态

    属性 值 描述
    kFirstFramePlayStatePlaying 0 播放中
    kFirstFramePlayStatePlayed 1 播放成功
    kFirstFramePlayStateEnd 2 播放失败

    MessageSendResultCode

    类型: enum

    发送用户消息或者房间消息的结果

    属性 值 描述
    MESSAGE_CODE_SUCCESS 0 用户 P2P 消息发送成功
    MESSAGE_CODE_ROOM_SUCCESS 200 房间 Broadcast 消息发送成功
    MESSAGE_CODE_ERROR_TIMEOUT 1 发送超时,没有发送
    MESSAGE_CODE_ERROR_BROKEN 2 通道断开,没有发送
    MESSAGE_CODE_ERROR_NOT_RECEIVER 3 找不到接收方
    MESSAGE_CODE_ERROR_NOT_JOIN 100 没有加入房间
    MESSAGE_CODE_ERROR_NO_CONNECTION 102 没有可用的数据传输通道连接
    MESSAGE_CODE_ERROR_EXCEED_MAX_LENGTH 103 消息超过最大长度,当前为64KB
    MESSAGE_CODE_ERROR_EMPTY_USER 104 用户id为空
    MESSAGE_CODE_ERROR_UNKNOWN 1000 未知错误

    SubscribeState

    类型: enum

    属性 值 描述
    kSubscribeStateSuccess 0 订阅/取消订阅流成功
    kSubscribeStateFailedNotInRoom 1 订阅/取消订阅流失败,本地用户未在房间中
    kSubscribeStateFailedStreamNotFound 2 订阅/取消订阅流失败,房间内未找到指定的音视频流
    kSubscribeStateFailedOverLimit 3 超过订阅流数上限

    SubscribeConfig

    类型: interface

    手动订阅流的配置信息。

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

    isScreen

    类型: boolean

    是否是屏幕流。

    subVideo

    类型: boolean

    是否订阅视频。

    subAudio

    类型: boolean

    是否订阅音频。

    videoIndex

    类型: number

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

    priority

    类型: number

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

    svcLayer

    类型: number

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

    framerate

    类型: number

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

    subWidth

    类型: number

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

    subHeight

    类型: number

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

    StreamMixingEvent

    类型: enum

    合流事件事件类型

    属性 值 描述
    kStreamMixingStart 1 请求发起转推直播任务
    kStreamMixingStartSuccess 2 发起转推直播任务成功
    kStreamMixingStartFailed 3 发起转推直播任务失败
    kStreamMixingUpdate 4 请求更新转推直播任务配置
    kStreamMixingUpdateSuccess 5 成功更新转推直播任务配置
    kStreamMixingUpdateFailed 6 更新转推直播任务配置失败
    kStreamMixingStop 7 请求结束转推直播任务
    kStreamMixingStopSuccess 8 结束转推直播任务成功
    kStreamMixingStopFailed 9 结束转推直播任务失败
    kStreamMixingChangeMixType 10 更新转推直播任务配置的请求超时
    kStreamMixingFirstAudioFrameByClientMix 11 得到客户端合流音频首帧
    kStreamMixingFirstVideoFrameByClientMix 12 收到客户端合流视频首帧
    kStreamMixingUpdateTimeout 13 更新转推直播任务配置超时
    kStreamMixingStartTimeout 14 发起转推直播任务配置超时
    kStreamMixingRequestParamError 15 合流布局参数错误
    kStreamMixingMixImageEvent 16 合流加图片

    StreamMixingType

    类型: enum

    合流类型

    属性 值 描述
    kStreamMixingTypeByServer 0 服务端合流
    kStreamMixingTypeByClient 1 端云一体合流

    RecordingInfo

    类型: interface

    本地录制的详细信息

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

    file_path

    类型: string

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

    video_codec_type

    类型: VideoCodecType

    录制文件的视频编码类型

    width

    类型: number

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

    height

    类型: number

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

    VideoCodecType

    类型: enum

    视频的编码类型

    属性 值 描述
    kVideoCodecUnknown 0 未知类型
    kVideoCodecH264 1 标准H264

    RecordingProgress

    类型: interface

    本地录制进度

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

    duration

    类型: number

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

    file_size

    类型: number

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

    IAudioFrame

    类型: interface

    设置音频帧

    名称 描述
    type 音频帧类型
    samples 音频采样点数量
    channels 音频通道数
    samples_per_sec 音频采样率
    buffer 音频数据内存地址
    render_time_ms 音频帧时间戳,单位:毫秒

    type

    类型: AudioFrameType

    值: 0

    音频帧类型

    samples

    类型: number

    音频采样点数量

    channels

    类型: number

    音频通道数

    samples_per_sec

    类型: number

    音频采样率

    buffer

    类型: Uint8Array

    音频数据内存地址

    render_time_ms

    类型: number

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

    LocalAudioPropertiesInfo

    类型: interface

    名称 描述
    stream_index 流属性,主流或屏幕流。
    audio_properties_info 音频属性信息,

    stream_index

    类型: StreamIndex

    流属性,主流或屏幕流。

    audio_properties_info

    类型: AudioPropertiesInfo

    音频属性信息,

    AudioPropertiesInfo

    类型: interface

    名称 描述
    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。

    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。

    RemoteAudioPropertiesInfo

    类型: interface

    名称 描述
    stream_index 流属性,主流或屏幕流。
    audio_properties_info 音频属性信息

    stream_index

    类型: RemoteStreamKey

    流属性,主流或屏幕流。

    audio_properties_info

    类型: AudioPropertiesInfo

    音频属性信息

    RtcRoomStats

    类型: interface

    通话相关的统计信息

    名称 描述
    txLostrate 当前应用的上行丢包率,取值范围为 [0, 1]。
    rxLostrate 当前应用的下行丢包率,取值范围为 [0, 1]。
    rtt 客户端到服务端数据传输的往返时延(单位 ms)
    duration 进房到退房之间累计时长,单位为 s
    txBytes 本地用户的总发送字节数 (bytes),累计值
    rxBytes 本地用户的总接收字节数 (bytes),累计值
    txKbitrate 发送码率 (kbps),获取该数据时的瞬时值
    rxKbitrate 接收码率 (kbps),获取该数据时的瞬时值
    rxAudioKbitrate 音频接收码率 (kbps),获取该数据时的瞬时值
    txAudioKbitrate 音频发送码率 (kbps),获取该数据时的瞬时值
    rxVideoKbitrate 视频接收码率 (kbps),获取该数据时的瞬时值
    txVideoKbitrate 视频发送码率 (kbps),获取该数据时的瞬时值
    rxScreenKbitrate 屏幕接收码率,获取该数据时的瞬时值,单位为 Kbps
    txScreenKbitrate 屏幕发送码率,获取该数据时的瞬时值,单位为 Kbps
    userCount 当前房间内的用户人数
    txJitter 系统上行网络抖动(ms)
    rxJitter 系统下行网络抖动(ms)
    txCellularKbitrate 蜂窝路径发送的码率 (kbps),获取该数据时的瞬时值
    rxCellularKbitrate 蜂窝路径接收码率 (kbps),获取该数据时的瞬时值

    txLostrate

    类型: number

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

    rxLostrate

    类型: number

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

    rtt

    类型: number

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

    duration

    类型: number

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

    txBytes

    类型: number

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

    rxBytes

    类型: number

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

    txKbitrate

    类型: number

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

    rxKbitrate

    类型: number

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

    rxAudioKbitrate

    类型: number

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

    txAudioKbitrate

    类型: number

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

    rxVideoKbitrate

    类型: number

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

    txVideoKbitrate

    类型: number

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

    rxScreenKbitrate

    类型: number

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

    txScreenKbitrate

    类型: number

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

    userCount

    类型: number

    当前房间内的用户人数

    txJitter

    类型: number

    系统上行网络抖动(ms)

    rxJitter

    类型: number

    系统下行网络抖动(ms)

    txCellularKbitrate

    类型: number

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

    rxCellularKbitrate

    类型: number

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

    UserOfflineReasonType

    类型: enum

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

    属性 值 描述
    kUserOfflineReasonQuit 0 远端用户调用 leaveRoom 方法退出房间。
    kUserOfflineReasonDropped 1 远端用户因网络等原因掉线。
    kUserOfflineReasonSwitchToInvisible 2
    kUserOfflineReasonKickedByAdmin 3 远端用户被踢出出房间。
    因调用踢出用户的 OpenAPI,远端用户被踢出房间。

    AVSyncState

    类型: enum

    音视频同步状态

    属性 值 描述
    kAVSyncStateAVStreamSyncBegin 0 音视频开始同步
    kAVSyncStateAudioStreamRemove 1 音视频同步过程中音频移除,但不影响当前的同步关系
    kAVSyncStateVdieoStreamRemove 2 音视频同步过程中视频移除,但不影响当前的同步关系

    LocalStreamStats

    类型: interface

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

    名称 描述
    audioStats 本地设备发送音频流的统计信息
    videoStats 本地设备发送视频流的统计信息
    localTxQuality 所属用户的媒体流上行网络质量
    localRxQuality 所属用户的媒体流下行网络质量
    isScreen 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

    audioStats

    类型: LocalAudioStats

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

    videoStats

    类型: LocalVideoStats

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

    localTxQuality

    类型: NetworkQuality

    所属用户的媒体流上行网络质量

    localRxQuality

    类型: NetworkQuality

    所属用户的媒体流下行网络质量

    isScreen

    类型: boolean

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

    LocalAudioStats

    类型: interface

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

    名称 描述
    audioLossRate 音频丢包率。此次统计周期内的音频上行丢包率,单位为 % ,取值范围为 [0, 1]。
    sendKbitrate 发送码率。此次统计周期内的音频发送码率,单位为 kbps 。
    recordSampleRate 采集采样率。此次统计周期内的音频采集采样率信息,单位为 Hz 。
    statsInterval 统计间隔。此次统计周期的间隔,单位为 ms 。
    rtt 往返时延。单位为 ms 。
    numChannels 音频声道数。
    sentSampleRate 音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。
    jitter 音频上行网络抖动,单位为 ms 。

    audioLossRate

    类型: number

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

    sendKbitrate

    类型: number

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

    recordSampleRate

    类型: number

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

    statsInterval

    类型: number

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

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

    rtt

    类型: number

    往返时延。单位为 ms 。

    numChannels

    类型: number

    音频声道数。

    sentSampleRate

    类型: number

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

    jitter

    类型: number

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

    LocalVideoStats

    类型: interface

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

    名称 描述
    sent_kbitrate 发送码率。此次统计周期内的视频发送码率,单位为 kbps 。
    inputFrameRate 采集帧率。此次统计周期内的视频采集帧率,单位为 fps 。
    sentFrameRate 发送帧率。此次统计周期内的视频发送帧率,单位为 fps 。
    encoderOutputFrameRate 编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。
    rendererOutputFrameRate 本地渲染帧率。此次统计周期内的本地视频渲染帧率,单位为 fps 。
    statsInterval 目标发送码率。此次统计周期内的视频目标发送码率,单位为 kbps 。
    videoLossRate 视频丢包率。此次统计周期内的视频上行丢包率,取值范围为 [0,1] 。
    rtt 往返时延,单位为 ms 。
    encodedBitrate 视频编码码率。此次统计周期内的视频编码码率,单位为 kbps 。
    encodedFrameWidth 视频编码宽度,单位为 px 。
    encodedFrameHeight 视频编码高度,单位为 px 。
    encodedFrameCount 此次统计周期内发送的视频帧总数。
    codecType 视频的编码类型
    isScreen 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
    jitter 视频上行网络抖动,单位为 ms 。

    sent_kbitrate

    类型: number

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

    inputFrameRate

    类型: number

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

    sentFrameRate

    类型: number

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

    encoderOutputFrameRate

    类型: number

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

    rendererOutputFrameRate

    类型: number

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

    statsInterval

    类型: number

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

    videoLossRate

    类型: number

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

    rtt

    类型: number

    往返时延,单位为 ms 。

    encodedBitrate

    类型: number

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

    encodedFrameWidth

    类型: number

    视频编码宽度,单位为 px 。

    encodedFrameHeight

    类型: number

    视频编码高度,单位为 px 。

    encodedFrameCount

    类型: number

    此次统计周期内发送的视频帧总数。

    codecType

    类型: VideoCodecType

    视频的编码类型

    isScreen

    类型: boolean

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

    jitter

    类型: number

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

    NetworkQuality

    类型: enum

    媒体流网络质量。

    属性 值 描述
    kNetworkQualityUnknown 0 网络质量未知。
    kNetworkQualityExcellent 1 网络质量极好。
    kNetworkQualityGood 2 主观感觉和 kNetworkQualityExcellent 差不多,但码率可能略低。
    kNetworkQualityPoor 3 主观感受有瑕疵但不影响沟通。
    kNetworkQualityBad 4 勉强能沟通但不顺畅。
    kNetworkQualityVbad 5 网络质量非常差,基本不能沟通。

    RemoteStreamStats

    类型: interface

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

    名称 描述
    uid 用户 ID 。音频来源的远端用户 ID 。
    audioStats 远端音频流的统计信息
    videoStats 远端视频流的统计信息
    remoteTxQuality 所属用户的媒体流上行网络质量
    remoteRxQuality 所属用户的媒体流下行网络质量
    isScreen 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

    uid

    类型: string

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

    audioStats

    类型: RemoteAudioStats

    远端音频流的统计信息

    videoStats

    类型: RemoteVideoStats

    远端视频流的统计信息

    remoteTxQuality

    类型: NetworkQuality

    所属用户的媒体流上行网络质量

    remoteRxQuality

    类型: NetworkQuality

    所属用户的媒体流下行网络质量

    isScreen

    类型: boolean

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

    RemoteAudioStats

    类型: interface

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

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

    audioLossRate

    类型: number

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

    receivedKbitrate

    类型: number

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

    stallCount

    类型: number

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

    stallDuration

    类型: number

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

    e2eDelay

    类型: number

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

    playoutSampleRate

    类型: number

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

    statsInterval

    类型: number

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

    rtt

    类型: number

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

    totalRtt

    类型: number

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

    quality

    类型: number

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

    jitterBufferDelay

    类型: number

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

    numChannels

    类型: number

    音频声道数。

    receivedSampleRate

    类型: number

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

    frozenRate

    类型: number

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

    concealedSamples

    类型: number

    音频 PLC 样点总个数。

    concealmentEvent

    类型: number

    PLC 累计次数。

    decSampleRate

    类型: number

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

    decDuration

    类型: number

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

    jitter

    类型: number

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

    RemoteVideoStats

    类型: interface

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

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

    width

    类型: number

    视频宽度

    height

    类型: number

    视频高度

    videoLossRate

    类型: number

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

    receivedKbitrate

    类型: number

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

    decoderOutputFrameRate

    类型: number

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

    rendererOutputFrameRate

    类型: number

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

    stallCount

    类型: number

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

    stallDuration

    类型: number

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

    e2eDelay

    类型: number

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

    isScreen

    类型: number

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

    statsInterval

    类型: number

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

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

    rtt

    类型: number

    往返时延,单位为 ms 。

    frozenRate

    类型: number

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

    videoIndex

    类型: number

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

    jitter

    类型: number

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

    StreamRemoveReason

    类型: enum

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

    属性 值 描述
    kStreamRemoveReasonUnpublish 0 远端用户停止发布流。
    kStreamRemoveReasonPublishFailed 1 远端用户发布流失败。
    kStreamRemoveReasonKeepLiveFailed 2 保活失败。
    kStreamRemoveReasonClientDisconnected 3 远端用户断网。
    kStreamRemoveReasonRepublish 4 远端用户重新发布流。
    kStreamRemoveReasonOther 5 其他原因。

    ForwardStreamStateInfo

    类型: interface

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

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

    roomId

    类型: string

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

    state

    类型: ForwardStreamState

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

    error

    类型: ForwardStreamError

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

    ForwardStreamState

    类型: enum

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

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

    ForwardStreamEventInfo

    类型: interface

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

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

    roomId

    类型: string

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

    event

    类型: ForwardStreamEvent

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

    ForwardStreamEvent

    类型: enum

    媒体流跨房间转发事件

    属性 值 描述
    kForwardStreamEventDisconnected 0 本端与服务器网络连接断开,暂停转发。
    kForwardStreamEventConnected 1 本端与服务器网络连接恢复,转发服务连接成功。
    kForwardStreamEventInterrupt 2 转发中断。转发过程中,如果相同 user_id 的用户进入目标房间,转发中断。
    kForwardStreamEventDstRoomUpdated 3 目标房间已更新,由 updateForwardStreamToRooms 触发。
    kForwardStreamEventUnExpectAPICall 4 API 调用时序错误。例如,在调用 startForwardStreamToRooms 之前调用 updateForwardStreamToRooms 。

    NetworkQualityStats

    类型: interface

    上行/下行网络质量

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

    userId

    类型: string

    用户 id

    fractionLost

    类型: number

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

    rtt

    类型: number

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

    rxQuality

    类型: NetworkQuality

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

    totalBandwidth

    类型: number

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

    txQuality

    类型: NetworkQuality

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