加入通话配置参数类 JCallJoinParam

用于配置加入通话时的各种参数设置,包括视频、音频、带宽、编码、心跳、录制等通话相关配置。 参数分为两类:

  1. 通话全局属性:第一个加入通话的成员设置的参数会对整个通话生效
  2. 成员私有属性:仅对设置的成员本身生效

合理配置这些参数可以优化通话质量和用户体验。

const joinParam = new JCallJoinParam();
joinParam.video = true;
joinParam.capacity = 8;
joinParam.maxFrameRate = 30;
joinParam.videoDefinition = JVideoDefinition.HIGH;
callManager.join("roomId123", 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

      推流地址

    Returns void

    房间全局属性,第一个加入通话成员设置生效。 设置后可将通话内容推送到指定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)。

  • set maxResolution(value: JResolution): void

    设置房间视频最大分辨率

    Parameters

    • value: JResolution

      最大分辨率

    Returns void

    通话全局属性,第一个加入通话成员设置生效。 当 svcResolution 有值时,此参数设置无效,建议使用 svcResolution

    • JResolution.RESOLUTION_360p 640*360
    • JResolution.RESOLUTION_720p 1280*720
    • JResolution.RESOLUTION_1080p 1920*1080
  • set maxFrameRate(value: JVideoDefinition): void

    设置通话视频最大帧率

    Parameters

    • value: JVideoDefinition

      最大帧率,范围1-30

    Returns void

    房间全局属性,第一个加入通话成员设置生效。 当参数 videoDefinition 为 JVideoDefinition.CUSTOM 时有效。 帧率越高,视频越流畅,但带宽和性能消耗也越大。

  • set svcResolution(value: string): void

    设置通话SVC分辨率

    Parameters

    • value: string

      SVC分辨率配置字符串

    Returns void

    通话全局属性,第一个加入通话成员设置生效。 用于自定义分层参数和码率,格式为: "高度公约数 第一层高倍数 第一层码率 第二层高倍数 第二层码率 第三层高倍数 第三层码率..."

    说明:

    1. 默认宽高比16:9,即 wholeRatio
    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
  • set videoDefinition(value: JVideoDefinition): void

    设置通话视频清晰度

    Parameters

    • value: JVideoDefinition

      视频清晰度

    Returns void

    通话全局属性,第一个加入通话成员设置生效。 主要通过修改 svcResolution 参数和 maxFrameRate 参数调整清晰度。

    • JVideoDefinition.LOW 低清晰度
    • JVideoDefinition.STANDARD 标准清晰度
    • JVideoDefinition.HIGH 高清晰度
    • JVideoDefinition.SUPER 超高清晰度
    • JVideoDefinition.CUSTOM 自定义清晰度(默认)
  • set heartbeatTime(value: number): void

    设置通话心跳间隔时间

    Parameters

    • value: number

      心跳间隔时间,单位:秒

    Returns void

    通话全局属性,第一个加入通话成员设置生效。 心跳间隔需比心跳超时时间小。设置后,终端会每隔指定秒数向服务器发送心跳包。

  • set heartbeatTimeout(value: number): void

    设置通话心跳超时时间

    Parameters

    • value: number

      心跳超时时间,单位:秒

    Returns void

    通话全局属性,第一个加入通话成员设置生效。 设置后,服务器在指定秒数内没有收到成员心跳时,该成员会自动结束通话。

  • set capacity(value: number): void

    设置通话最大人数

    Parameters

    • value: number

      通话最大人数

    Returns void

    通话全局属性,第一个加入通话成员设置生效。 设置房间可容纳的最大人数。

  • 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

    通话全局属性,第一个加入通话成员设置生效。

    • JSecurityType.SRTP SRTP加密(默认)
    • JSecurityType.NONE 不加密
  • set videoEncodeType(value: JVideoEncodeType): void

    设置通话视频编码类型

    Parameters

    • value: JVideoEncodeType

      视频编码类型

    Returns void

    通话全局属性,第一个加入通话成员设置生效。

    • JVideoEncodeType.H264 H.264编码(默认)
    • JVideoEncodeType.VP8 VP8编码
  • set audioEncodeType(value: JAudioEncodeType): void

    设置通话音频编码类型

    Parameters

    • value: JAudioEncodeType

      音频编码类型

    Returns void

    通话全局属性,第一个加入通话成员设置生效。

    • JAudioEncodeType.OPUS OPUS编码(默认)
    • JAudioEncodeType.PCMA PCMA编码
  • set ratio(value: number): void

    设置本端视频宽高比

    Parameters

    • value: number

      视频宽高比值

    Returns void

    将自己的视频采集根据宽高比裁剪后发送,其他成员收到的画面将是裁剪后的比例。 该方法不影响其他成员的画面在本端的显示比例,也不影响其他成员相互之间的画面显示比例。 默认为9/16(0.5625)。

  • set captureResolutionType(value: JResolution): void

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

    Parameters

    • value: JResolution

      采集分辨率

    Returns void

    设置本地摄像头采集的视频分辨率。

    • JResolution.RESOLUTION_360p 640*360
    • JResolution.RESOLUTION_720p 1280*720(默认)
    • JResolution.RESOLUTION_1080p 1920*1080
  • set captureFrameRate(value: number): void

    设置本地摄像头采集帧率

    Parameters

    • value: number

      采集帧率

    Returns void

    设置本地摄像头采集的视频帧率,默认为24帧/秒

  • set localRecordFilePath(value: string): void

    设置本地录制文件路径

    Parameters

    • value: string

      本地录制文件路径

    Returns void

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

  • set traceId(value: string): void

    设置日志跟踪ID

    Parameters

    • value: string

      日志跟踪ID

    Returns void

    用于在日志中标识特定通话,方便问题排查和调试

  • set serialId(value: string): void

    设置业务流水号

    Parameters

    • value: string

      业务流水号

    Returns void

    设置唯一标识该通话的业务流水号,用于跟踪通话记录和关联业务系统

  • 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 inviteCalleeUserId(value: string): void

    设置被邀请者用户ID

    Parameters

    • value: string

      被邀请者用户ID

    Returns void

    如果此参数不为空,会在自身加入通话的同时邀请该用户加入通话。

  • set inviteCalleeUserType(value: JCallUserType): void

    设置被邀请者用户类型

    Parameters

    • value: JCallUserType

      被邀请者用户类型

    Returns void

    当被邀请者用户ID不为空时,该值才有效。

    • JCallUserType.APP APP用户(默认)
    • JCallUserType.SIP SIP用户
    • JCallUserType.H5 H5用户
    • JCallUserType.WECHAT 微信小程序用户
  • set callerNumberForSip(value: string): void

    设置SIP外呼主叫号码

    Parameters

    • value: string

      SIP外呼主叫号码

    Returns void

    当被邀请者用户类型是SIP用户时,该参数有效。 设置SIP外呼时显示的主叫号码。

  • set routeId(value: string): void

    设置SIP外呼线路ID

    Parameters

    • value: string

      SIP外呼线路ID

    Returns void

    当被邀请者用户类型是SIP用户时,该参数有效。 设置SIP外呼使用的线路ID。

  • set role(value: number): void

    设置用户角色

    Parameters

    • value: number

      用户角色

    Returns void

    设置用户在通话中的角色

    JCallCenterRole.INIT 初始角色

  • set minSendBwe(minSendBwe: number): void

    设置最小发送估计带宽

    Parameters

    • minSendBwe: number

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

    Returns void

    需要配合 svcResolution 设置使用。 设置发送数据时的最小带宽限制,影响视频质量的下限。

  • set maxSendBwe(maxSendBwe: number): void

    设置最大发送估计带宽

    Parameters

    • maxSendBwe: number

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

    Returns void

    需要配合 svcResolution 设置使用。 设置发送数据时的最大带宽限制,影响视频质量的上限。

  • set minReceiveBwe(minReceiveBwe: number): void

    设置最小接收估计带宽

    Parameters

    • minReceiveBwe: number

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

    Returns void

    需要配合 svcResolution 设置使用。 设置接收数据时的最小带宽限制,影响接收视频质量的下限。

  • set maxReceiveBwe(maxReceiveBwe: number): void

    设置最大接收估计带宽

    Parameters

    • maxReceiveBwe: number

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

    Returns void

    需要配合 svcResolution 设置使用。 设置接收数据时的最大带宽限制,影响接收视频质量的上限。