加入通话配置参数类

此类用于设置加入通话时的各项参数,包括邀请用户、SIP外呼配置和通话录制等功能设置。 作为 join 方法的参数使用,继承自 JRTCRoomJoinParam, 在其基础上扩展了更多特定于通话场景的参数。

Hierarchy (View Summary)

Accessors

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

    设置被邀请者用户ID

    Parameters

    • value: undefined | string

      被邀请者的用户唯一标识

    Returns void

    如果设置了此参数,会在自身加入通话的同时向该用户发送邀请。 适用于需要在加入通话时立即邀请其他用户的场景。

  • set inviteCalleeUserType(value: JRTCCallUserType): void

    设置被邀请者用户类型

    Parameters

    Returns void

    当被邀请者用户ID不为空时,该值有效。 默认为APP用户类型(JRTCCallUserType.APP)。

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

    设置SIP外呼主叫号码

    Parameters

    • value: undefined | string

      SIP外呼时显示的主叫号码

    Returns void

    当被邀请者用户类型是SIP用户时,此参数有效。 此号码会在SIP设备上显示为来电号码。

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

    设置SIP外呼线路ID

    Parameters

    • value: undefined | string

      SIP外呼使用的线路ID

    Returns void

    当被邀请者用户类型是SIP用户时,此参数有效。 线路ID用于选择特定的SIP线路进行呼叫。

  • set createRemoteAdvancedRecord(value: boolean): void

    设置是否创建通用化录制

    Parameters

    • value: boolean

      是否开启通用化录制

      • true: 开启通用化录制
      • false: 不开启通用化录制(默认值)

    Returns void

    通用化录制功能可以录制通话过程中的音视频内容,便于后续回放或存档。

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

    设置通用化录制配置

    Parameters

    • value: undefined | string

      通用化录制的配置信息,通常为JSON字符串

    Returns void

    createRemoteAdvancedRecord 设置为 true 时有效。 通过此参数可以配置录制的分辨率、帧率、布局等细节。

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

    设置通用化录制文件名

    Parameters

    • value: undefined | string

      录制文件的名称

    Returns void

    createRemoteAdvancedRecord 设置为 true 时有效。 指定录制文件的名称,不包含文件扩展名。

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

    设置通用化录制扩展参数

    Parameters

    • value: undefined | Record<string, undefined | Object>

      录制相关的扩展参数

    Returns void

    createRemoteAdvancedRecord 设置为 true 时有效。 可以传入额外的录制配置参数,用于更细粒度的录制控制。

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

    设置存储桶名称

    Parameters

    • value: undefined | string

      对象存储服务的桶名称

    Returns void

    用于指定录制文件或其他数据的存储位置。 此参数关联到对接存储环境的配置。

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

    设置数据中心ID

    Parameters

    • value: undefined | string

      数据中心ID

    Returns void

    用于多中心场景,服务端没有部署 redis 服务,可通过该方式加入指定中心创建的通话

  • 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

  • 将参数转换为字符串

    Returns string

    参数的JSON字符串表示

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

  • 将参数转换为JSON对象

    Returns Record<string, undefined | Object>

    包含所有参数的JSON对象

    此方法用于将参数序列化,便于传输或存储。 调用了父类的toJSON方法,并添加了此类特有的参数。