加入房间配置参数类 JRoomJoinParam

用于配置加入多方通话房间时的各项参数,包括视频/音频质量、编码方式、录制设置、安全设置等。 作为 JRoomManager.join 方法的参数传入,控制房间创建和加入的行为。

参数分为两类:

  • 个人参数:仅影响当前用户的设置,如本地视频比例、是否上传音视频等
  • 房间全局参数:第一个加入房间的成员设置会对整个房间生效,如最大人数、心跳设置等
// 创建加入房间参数
const joinParam = new JRoomJoinParam();

// 设置房间全局参数
joinParam.capacity = 10; // 设置房间最大容量为10人
joinParam.videoDefinition = JVideoDefinition.HIGH; // 设置高清视频质量
joinParam.securityType = JSecurityType.SRTP; // 设置SRTP加密

// 设置个人参数
joinParam.uploadLocalVideo = true; // 上传本地视频
joinParam.uploadLocalAudio = true; // 上传本地音频
joinParam.captureResolutionType = JResolution.RESOLUTION_720p; // 设置采集分辨率

// 加入房间
JRoomManager.getInstance().join("room123", joinParam);

Accessors

  • set video(value: boolean): void

    设置房间是否支持视频

    Parameters

    • value: boolean

      是否支持视频

    Returns void

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

    • true: 房间支持视频通话(默认值)
    • false: 房间仅支持音频通话
  • set enableRemoteRecord(value: boolean): void

    设置是否需要远程录制

    Parameters

    • value: boolean

      是否需要远程录制

    Returns void

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

    设置为true仅表示通知服务端该房间需要支持远程录制功能,并不会立即开始录制。 实际录制需要在加入房间后,通过通话界面的录制按钮手动开启。

    • true: 房间需要支持远程录制
    • false: 房间不需要远程录制(默认值)
  • set cdn(value: string): void

    设置推流地址

    Parameters

    • value: string

      CDN推流地址

    Returns void

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

    设置后可将房间音视频内容推送到指定的CDN地址进行直播。 默认为空字符串,表示不进行CDN推流。

  • set smoothMode(value: boolean): void

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

    Parameters

    • value: boolean

      是否开启平滑模式

    Returns void

    平滑模式下会优化视频流畅性,适合网络条件不稳定的情况。

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

    设置房间视频全局宽高比

    Parameters

    • value: number

      视频宽高比值

    Returns void

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

    设置房间内所有成员视频的宽高比,默认为16:9(约1.77777)。 此参数会影响SVC分辨率的计算。除特殊需求外,不建议修改此值。

  • set maxResolution(value: JResolution): void

    设置房间视频最大分辨率

    Parameters

    • value: JResolution

      最大视频分辨率

    Returns void

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

    设置房间内视频传输的最大分辨率,默认为720p。 注意:当设置了 svcResolution 时,此参数设置无效,建议使用 svcResolution 进行更精细的控制。

    JResolution 分辨率定义

  • set maxFrameRate(value: number): void

    设置房间视频最大帧率

    Parameters

    • value: number

      最大帧率(1-30)

    Returns void

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

    设置房间内视频传输的最大帧率,有效值为1-30,默认值为24。 此参数仅在 videoDefinition 为 JVideoDefinition.CUSTOM 时有效。 帧率越高,视频越流畅,但需要更多的带宽和处理能力。

  • set svcResolution(value: string): void

    设置SVC分辨率参数

    Parameters

    • value: string

      SVC分辨率参数字符串

    Returns void

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

    用于自定义可伸缩视频编码(SVC)的分层参数和码率,实现更精细的视频质量控制。

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

    说明:

    1. 默认宽高比使用 wholeRatio 的值(通常为16:9)
    2. 编码宽高最后会被调整为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 videoDefinition(value: JVideoDefinition): void

    设置视频清晰度级别

    Parameters

    • value: JVideoDefinition

      视频清晰度级别

    Returns void

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

    设置房间内视频的清晰度级别,主要通过修改 svcResolutionmaxFrameRate 参数实现。 默认为 JVideoDefinition.CUSTOM,表示使用自定义设置。

    JVideoDefinition 视频清晰度级别定义

  • set heartbeatTime(value: number): void

    设置心跳间隔时间

    Parameters

    • value: number

      心跳间隔时间(秒)

    Returns void

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

    设置客户端向服务器发送心跳包的时间间隔,默认为20秒。 心跳间隔必须小于心跳超时时间 heartbeatTimeout。 终端会按此间隔定期向服务器发送心跳包,以维持连接状态。

  • 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: 上传本地音频(默认值)
    • false: 不上传本地音频(静音状态)
  • set uploadLocalVideo(value: boolean): void

    设置是否上传本地视频

    Parameters

    • value: boolean

      是否上传本地视频

    Returns void

    个人参数,仅影响当前用户设置。

    控制是否将本地摄像头采集的视频上传到服务器:

    • true: 上传本地视频(默认值)
    • false: 不上传本地视频(只有语音)
  • set securityType(value: JSecurityType): void

    设置媒体数据加密方式

    Parameters

    • value: JSecurityType

      加密方式

    Returns void

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

    设置房间内音视频数据的加密方式,默认为SRTP加密。

    JSecurityType 媒体加密方式定义

  • set videoEncodeType(value: JVideoEncodeType): void

    设置视频编码类型

    Parameters

    • value: JVideoEncodeType

      视频编码类型

    Returns void

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

    设置房间内视频流的编码类型,默认为H.264编码。

    JVideoEncodeType 视频编码类型定义

  • set audioEncodeType(value: JAudioEncodeType): void

    设置音频编码类型

    Parameters

    • value: JAudioEncodeType

      音频编码类型

    Returns void

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

    设置房间内音频流的编码类型,默认为OPUS编码。

    JAudioEncodeType 音频编码类型定义

  • set ratio(value: number): void

    设置本端视频宽高比

    Parameters

    • value: number

      视频宽高比

    Returns void

    个人参数,仅影响当前用户设置。

    设置本地视频采集的宽高比,默认为9:16(0.5625)。 本地视频将根据设置的宽高比进行裁剪后发送,其他成员收到的画面将是裁剪后的比例。 此设置不影响接收其他成员视频的显示比例。

  • set captureResolutionType(value: JResolution): void

    设置本地摄像头采集分辨率

    Parameters

    • value: JResolution

      采集分辨率

    Returns void

    个人参数,仅影响当前用户设置。

    设置本地摄像头视频采集的分辨率,默认为720p。 可选值:

    • JResolution.RESOLUTION_360p (640x360)
    • JResolution.RESOLUTION_720p (1280x720)
    • JResolution.RESOLUTION_1080p (1920x1080)

    采集分辨率越高,清晰度越好,但需要更多的处理能力和带宽。

    JResolution 分辨率定义

  • set captureFrameRate(value: number): void

    设置本地摄像头采集帧率

    Parameters

    • value: number

      采集帧率

    Returns void

    个人参数,仅影响当前用户设置。

    设置本地摄像头视频采集的帧率,默认为24帧/秒。 帧率越高,视频越流畅,但需要更多的处理能力和带宽。

  • set localRecordFilePath(value: string): void

    设置本地录制文件路径

    Parameters

    • value: string

      文件路径

    Returns void

    个人参数,仅影响当前用户设置。

    设置本地录制的文件保存路径,必须包含文件名,如"record.mp4"。 默认存储在系统的/data/app/el2/100/base/应用包名/files/record目录下。

    如需使用本地录制功能,必须设置此参数并确保应用有相应的存储权限。

  • set traceId(value: string): void

    设置日志跟踪ID

    Parameters

    • value: string

      跟踪ID

    Returns void

    设置用于日志追踪的唯一标识符,可选参数。 此ID会记录在日志中,方便在排查问题时关联相关日志记录。

  • set serialId(value: string): void

    设置业务流水号

    Parameters

    • value: string

      业务流水号

    Returns void

    设置业务系统的唯一流水号,可选参数。 应确保此ID在业务系统中唯一,用于关联业务记录和通话记录。

  • set extraSerialId(value: string): void

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

    Parameters

    • value: string

      外部业务流水号

    Returns void

    设置第三方外部系统的业务流水号,可选参数。 当需要与多个外部系统关联时,可使用此参数传递额外的标识信息。

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

    设置随路参数

    Parameters

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

      随路参数对象

    Returns void

    设置随房间传递的额外信息,可用于在房间内共享自定义数据。 建议使用简单的键值对结构,避免过于复杂的嵌套对象。

  • set role(value: number): void

    设置用户角色

    Parameters

    • value: number

      用户角色

    Returns void

    个人参数,设置加入房间的用户角色,决定用户在房间中的权限和行为。 默认为 JCallCenterRole.INIT,表示未指定角色。

    JCallCenterRole 用户角色定义

  • set minSendBwe(minSendBwe: number): void

    设置最小发送估计带宽

    Parameters

    • minSendBwe: number

      最小发送估计带宽(kbps)

    Returns void

    设置发送视频流的最小带宽估计值,单位为kbps,默认值为200。 此参数需要配合 svcResolution 设置使用,用于控制在网络条件较差时的最低视频质量。

  • set maxSendBwe(maxSendBwe: number): void

    设置最大发送估计带宽

    Parameters

    • maxSendBwe: number

      最大发送估计带宽(kbps)

    Returns void

    设置发送视频流的最大带宽估计值,单位为kbps,默认值为5000。 此参数需要配合 svcResolution 设置使用,用于控制在网络条件良好时的最高视频质量。

  • set minReceiveBwe(minReceiveBwe: number): void

    设置最小接收估计带宽

    Parameters

    • minReceiveBwe: number

      最小接收估计带宽(kbps)

    Returns void

    设置接收视频流的最小带宽估计值,单位为kbps,默认值为200。 此参数需要配合 svcResolution 设置使用,用于控制在网络条件较差时的接收视频质量。

  • set maxReceiveBwe(maxReceiveBwe: number): void

    设置最大接收估计带宽

    Parameters

    • maxReceiveBwe: number

      最大接收估计带宽(kbps)

    Returns void

    设置接收视频流的最大带宽估计值,单位为kbps,默认值为5000。 此参数需要配合 svcResolution 设置使用,用于控制在网络条件良好时的接收视频质量。