加入房间配置参数类

此类用于配置加入房间时的各种参数,包括视频/音频设置、录制设置、安全设置等。 作为 join 方法的 joinParam 参数传入。

参数分为两类:

  1. 个人参数:仅影响当前用户的设置
  2. 房间全局参数:第一个加入房间的成员设置会对整个房间生效

Hierarchy (View Summary)

Accessors

  • set viewerJoin(value: boolean): void

    设置是否以观众身份加入房间(无感加入)

    Parameters

    • value: boolean

    Returns void

    默认值为 false

    如果设置为 true,加入房间后:

    • 其他房间内成员不会收到该成员加入通知
    • 该成员不支持上传本地音视频流

    此为个人参数,仅影响当前用户。

  • set video(value: boolean): void

    设置房间是否支持视频

    Parameters

    • value: boolean

    Returns void

    默认值为 true,表示支持视频。

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set enableRemoteRecord(value: boolean): void

    设置是否需要远程录制

    Parameters

    • value: boolean

    Returns void

    默认值为 false,表示不需要远程录制。

    设置为 true 时:

    • 仅通知服务端这个房间需要远程录制
    • 并不会真正开启远程录制
    • 加入房间后,需要通过 enableRemoteRecord 接口去开启远程录制

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set cdn(value: undefined | string): void

    设置推流地址

    Parameters

    • value: undefined | string

    Returns void

    默认值为 undefined

    设置CDN推流地址后,可以将房间内的音视频内容推送到指定的CDN地址进行直播。

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set smoothMode(value: boolean): void

    设置房间视频是否开启平滑模式

    Parameters

    • value: boolean

    Returns void

    默认值为 false,表示不开启平滑模式。

    平滑模式下,视频画面会更加流畅,但可能会牺牲一些清晰度。 适用于网络条件不稳定的场景。

    可选值:

    • true: 开启平滑模式
    • false: 不开启平滑模式
  • set wholeRatio(value: number): void

    设置房间视频全局宽高比

    Parameters

    • value: number

    Returns void

    默认值为 16/9 (1.77777)。

    此参数决定了房间内视频画面的宽高比例,常见的值有:

    • 16/9 (1.77777): 宽屏比例
    • 4/3 (1.33333): 传统比例

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set maxResolution(value: JRTCResolution): void

    设置房间视频最大分辨率

    Parameters

    Returns void

    默认值为 JRTCResolution.RESOLUTION_720p

    此参数决定了房间内视频画面的最大分辨率。

    注意:当 svcResolution 属性有值时,此参数设置无效, 建议使用 svcResolution 属性来设置分辨率。

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set maxFrameRate(value: number): void

    设置房间视频最大帧率

    Parameters

    • value: number

    Returns void

    默认值为 24 帧/秒。

    有效范围为 1-30 帧/秒。帧率越高,视频越流畅,但也会消耗更多带宽和计算资源。

    注意:当 videoDefinition 参数为 JRTCRoomVideoDefinition.CUSTOM 时有效。

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set svcResolution(value: string): void

    设置SVC分辨率参数

    Parameters

    • value: string

    Returns void

    默认值为 "1 180 250 360 600 720 1400"

    此参数用于自定义视频的分层参数和码率,当 videoDefinition 参数为 JRTCRoomVideoDefinition.CUSTOM 时有效。

    格式:高度公约数 第一层高倍数 第一层码率 第二层高倍数 第二层码率 第三层高倍数 第三层码率 [第四层高倍数 第四层码率]

    说明:

    • 默认宽高比为16:9,由 wholeRatio 参数决定
    • 编码宽高最后会被裁剪为16的整数倍

    示例:"1 180 250 360 600 720 1400"

    • 第一层:分辨率 宽320(180×16÷9)高 180,码率250kbps
    • 第二层:分辨率 宽640(360×16÷9)高 360,码率600kbps
    • 第三层:分辨率 宽1280(720×16÷9)高 720,码率1400kbps

    若需要四层,则需补充为:"1 180 250 360 600 720 1400 1080 1600"

    • 第四层:分辨率 宽1920(1080×16÷9)高 1080,码率1600kbps

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set heartbeatTime(value: number): void

    设置通话心跳间隔时间

    Parameters

    • value: number

    Returns void

    默认值为 20 秒。

    心跳间隔需比心跳超时时间小。终端会每隔设定的秒数向服务器发送心跳包, 用于维持连接状态并检测网络连通性。

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set heartbeatTimeout(value: number): void

    设置通话心跳超时时间

    Parameters

    • value: number

    Returns void

    默认值为 60 秒。

    当服务器在设定的超时时间内没有收到成员心跳时,该成员会被自动踢出房间, 结束通话。此参数应大于心跳间隔时间。

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set capacity(value: number): void

    设置房间最大人数

    Parameters

    • value: number

    Returns void

    默认值为 6 人。

    此参数限制了可以同时加入房间的最大成员数量。当设置的值小于最小容量时, 将使用最小容量值;当设置的值大于最大容量时,将使用最大容量值。

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set uploadLocalAudio(value: boolean): void

    设置是否上传本地音频

    Parameters

    • value: boolean

    Returns void

    默认值为 true(上传)。

    此参数控制加入房间时是否上传本地音频流:

    • true: 上传本地音频,其他成员可以听到您的声音
    • false: 不上传本地音频,相当于静音状态

    此为个人属性,仅影响当前用户。

  • set uploadLocalVideo(value: boolean): void

    设置是否上传本地视频

    Parameters

    • value: boolean

    Returns void

    默认值为 true(上传)。

    此参数控制加入房间时是否上传本地视频流:

    • true: 上传本地视频,其他成员可以看到您的画面
    • false: 不上传本地视频,相当于关闭摄像头

    此为个人属性,仅影响当前用户。

  • set securityType(value: JRTCRoomSecurityType): void

    设置通话媒体数据加密方式

    Parameters

    Returns void

    默认值为 SRTP(SRTP加密)。

    此参数决定了房间内音视频数据的加密方式,可选值:

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set videoEncodeType(value: JRTCVideoEncodeType): void

    设置房间视频编码类型

    Parameters

    Returns void

    默认值为 H264

    此参数决定了房间内视频使用的编码格式。不同的编码格式有不同的压缩效率和兼容性。

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set videoEncoderAutoFallback(value: boolean): void

    设置是否开启视频编码自动回落功能

    Parameters

    • value: boolean

    Returns void

    默认值为 true(开启)。

    开启此功能后,当设置房间视频编码为 AV1 时,如果当前设备性能不足导致 编码时间过长,则会自动回落到 H264 编码,以保证通话流畅性。

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set audioEncodeType(value: JRTCAudioEncodeType): void

    设置房间音频编码类型

    Parameters

    Returns void

    默认值为 JRTCAudioEncodeType.OPUS

    此参数决定了房间内音频使用的编码格式。不同的编码格式有不同的音质和带宽消耗。

    此为房间全局属性,第一个加入房间成员的设置会对整个房间生效。

  • set traceId(value: undefined | string): void

    设置日志跟踪ID

    Parameters

    • value: undefined | string

    Returns void

    默认值为 undefined

    此参数用于在日志系统中标识特定的会话,便于问题排查和日志分析。 设置后,相关日志会带有此ID,方便追踪整个通话过程。

  • set serialId(value: undefined | string): void

    设置业务流水号

    Parameters

    • value: undefined | string

    Returns void

    默认值为 undefined

    此参数用于标识业务请求,需保证唯一性。 可用于业务系统与通讯系统的关联和跟踪。

  • set extraSerialId(value: undefined | string): void

    设置外部自定义业务流水号

    Parameters

    • value: undefined | string

    Returns void

    默认值为 undefined

    此参数允许外部系统传入自己的业务标识,用于跨系统的业务关联。

  • set jsmiOid(value: undefined | string): void

    设置房间实例ID

    Parameters

    • value: undefined | string

    Returns void

    默认值为 undefined

    此参数在多中心场景下使用,特别是当服务端没有部署 Redis 服务时, 可通过该方式结合 otherParam 加入指定中心创建的房间。

  • get otherParam(): undefined | Record<string, Object>

    获取其他参数

    Returns undefined | Record<string, Object>

    其他参数对象

  • set otherParam(value: undefined | Record<string, Object>): void

    设置通过房间实例ID加入房间场景的其他参数

    Parameters

    • value: undefined | Record<string, Object>

    Returns void

    默认值为 undefined

    此参数在多中心场景下使用,特别是当服务端没有部署 Redis 服务时, 可通过该方式结合 jsmiOid 加入指定中心创建的房间。

  • set extraInfo(value: any): void

    设置随路参数

    Parameters

    • value: any

    Returns void

    默认值为 undefined

    此参数用于在加入房间时携带额外的自定义信息,这些信息会随通话信令传递。 可用于传递业务相关的自定义数据。

  • set userInfo(value: undefined | string): void

    设置用户随路参数

    Parameters

    • value: undefined | string

    Returns void

    默认值为 undefined

  • set openAudioInput(openAudioInput: boolean): void

    设置是否主动打开音频输入

    Parameters

    • openAudioInput: boolean

    Returns void

    默认值为 true

    此参数控制加入房间时是否自动打开麦克风:

    • true: 加入房间时自动打开麦克风
    • false: 加入房间时不自动打开麦克风,需手动开启

    此为个人属性,仅影响当前用户。

  • set openAudioOutput(openAudioOutput: boolean): void

    设置是否主动打开音频输出

    Parameters

    • openAudioOutput: boolean

    Returns void

    默认值为 true

    此参数控制加入房间时是否自动打开扬声器:

    • true: 加入房间时自动打开扬声器,可以听到其他成员的声音
    • false: 加入房间时不自动打开扬声器,需手动开启

    此为个人属性,仅影响当前用户。

  • set role(value: JRTCCallCenterRole): void

    设置用户角色

    Parameters

    Returns void

    默认值为 JRTCCallCenterRole.INIT

    此参数用于在呼叫中心场景下设置用户的角色,如座席、访客等。 不同角色可能有不同的权限和行为。

    此为个人属性,仅影响当前用户。

  • get minSendBwe(): number

    获取最小发送估计带宽

    Returns number

    最小发送估计带宽,单位 kbps

    默认值为 200 kbps。

    此参数设置视频编码的最小目标比特率,需要配合 svcResolution 参数使用。 当网络条件较差时,编码器会尝试将码率降低到此值,但不会低于此值。

  • set minSendBwe(minSendBwe: number): void

    设置最小发送估计带宽

    Parameters

    • minSendBwe: number

    Returns void

    默认值为 200 kbps。

    此参数设置视频编码的最小目标比特率,需要配合 svcResolution 参数使用。 当网络条件较差时,编码器会尝试将码率降低到此值,但不会低于此值。

    设置过低可能导致视频质量过差,设置过高可能导致在网络条件差时无法有效降低码率。

  • get maxSendBwe(): number

    获取最大发送估计带宽

    Returns number

    最大发送估计带宽,单位 kbps

    默认值为 5000 kbps。

    此参数设置视频编码的最大目标比特率,需要配合 svcResolution 参数使用。 当网络条件良好时,编码器会尝试将码率提高到此值,但不会超过此值。

  • set maxSendBwe(maxSendBwe: number): void

    设置最大发送估计带宽

    Parameters

    • maxSendBwe: number

    Returns void

    默认值为 5000 kbps。

    此参数设置视频编码的最大目标比特率,需要配合 svcResolution 参数使用。 当网络条件良好时,编码器会尝试将码率提高到此值,但不会超过此值。

    设置过高可能导致不必要的带宽消耗,设置过低可能限制视频质量。

  • get minReceiveBwe(): number

    获取最小接收估计带宽

    Returns number

    最小接收估计带宽,单位 kbps

    默认值为 200 kbps。

    此参数设置接收视频流的最小目标比特率,需要配合 svcResolution 参数使用。 当网络条件较差时,接收端会请求发送端降低码率到此值,但不会低于此值。

  • set minReceiveBwe(minReceiveBwe: number): void

    设置最小接收估计带宽

    Parameters

    • minReceiveBwe: number

    Returns void

    默认值为 200 kbps。

    此参数设置接收视频流的最小目标比特率,需要配合 svcResolution 参数使用。 当网络条件较差时,接收端会请求发送端降低码率到此值,但不会低于此值。

    设置过低可能导致接收到的视频质量过差,设置过高可能导致在网络条件差时无法有效降低码率。

  • get maxReceiveBwe(): number

    获取最大接收估计带宽

    Returns number

    最大接收估计带宽,单位 kbps

    默认值为 5000 kbps。

    此参数设置接收视频流的最大目标比特率,需要配合 svcResolution 参数使用。 当网络条件良好时,接收端会请求发送端提高码率到此值,但不会超过此值。

  • set maxReceiveBwe(maxReceiveBwe: number): void

    设置最大接收估计带宽

    Parameters

    • maxReceiveBwe: number

    Returns void

    默认值为 5000 kbps。

    此参数设置接收视频流的最大目标比特率,需要配合 svcResolution 参数使用。 当网络条件良好时,接收端会请求发送端提高码率到此值,但不会超过此值。

    设置过高可能导致不必要的带宽消耗,设置过低可能限制接收到的视频质量。

Methods

  • 将参数对象转换为JSON格式

    Returns Record<string, undefined | Object>

    包含所有参数的JSON对象

    此方法将所有配置参数转换为标准的JSON对象,便于序列化和传输。

  • 将参数对象转换为字符串

    Returns string

    包含所有参数的JSON字符串

    此方法将所有配置参数转换为JSON字符串格式,便于日志记录和调试。