座席管理类,提供座席相关的所有功能操作 JRTCAgent

JRTCAgent类是座席管理的核心类,提供了座席签入/签出、通话控制、音视频控制等完整功能。 该类采用单例模式设计,通过静态create方法创建实例。

Hierarchy

  • JRTCModuleBase
    • JRTCAgent

Methods

  • 创建JRTCAgent实例

    Parameters

    • client: JRTCClient

      JRTCClient实例,用于管理客户端基础功能

    • mediaDevice: JRTCMediaDevice

      JRTCMediaDevice实例,用于管理音视频设备

    • callback: JRTCAgentCallback

      回调接口,用于接收座席相关事件通知

    Returns undefined | JRTCAgent

    返回JRTCAgent实例,如果创建失败则返回undefined

    当首次创建时任一参数为空时抛出异常

    • 该方法为单例模式,重复调用会返回同一实例
    • 所有接口函数建议在主线程调用
    • 调用前需确保JRTCClient已完成初始化
    • 如果JRTCClient未初始化(state === NOT_INIT),将返回undefined
    const agent = JRTCAgent.create(client, mediaDevice, callback);
    if (agent) {
    // 创建成功,可以进行后续操作
    }
  • 销毁JRTCAgent实例

    Returns void

    • 释放JRTCAgent实例及其占用的所有资源
    • 该方法为同步调用,会等待资源释放完成
    • 调用后无法再使用JRTCAgent的其他方法和回调
    • 不建议在JRTCSDK的回调中调用此方法,可能导致崩溃
    • 如需重新创建实例,需等待destroy方法执行完成
    JRTCAgent.destroy();
    // 等待资源释放完成后,才能重新创建实例
  • 检查当前通话是否为服务器自动录制模式

    Returns boolean

    是否为自动录制模式

    • 由访客的 autoRecord 属性决定
    • 仅在通话状态为 TALKING 时可获取
    • 如果为自动录制模式(返回true),则座席的 controlRecord 远程录制接口不生效
  • 获取当前通话状态

    Returns number

    当前通话状态值

    返回值对应 JRTCCallCenterCallState 中定义的状态:

    • IDLE: 空闲状态
    • INCOMING: 振铃状态
    • TALKING: 通话中状态 等其他可能的状态值
  • 获取当前通话类型

    Returns number

    当前通话类型

    返回以下类型之一:

    可通过 turnCallType 接口修改当前通话类型

  • 获取当前通话保持状态

    Returns boolean

    当前通话是否处于保持状态

    • true: 当前通话处于保持状态
    • false: 当前通话处于正常状态

    座席可通过 setHoldState 接口修改当前通话的保持状态 保持通话后双方互相停止音视频流的发送与接收

  • 获取单向视频状态

    Returns boolean

    是否处于单向视频状态

    • true: 当前处于单向视频状态
    • false: 当前不处于单向视频状态

    座席可通过 requestOnewayVideo 接口修改当前通话的单向视频状态

  • 设置通话保持/取回状态

    Parameters

    • hold: boolean

      是否保持

      • true: 表示设置为保持状态
      • false: 表示设置为取回状态

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
    • 调用成功后,通话中所有成员将收到 JRTCGuestCallback.onHoldStateChanged onHoldStateChanged 或 onHoldStateChanged 回调
    • 保持状态下,双方会互相停止音视频流的发送与接收
    • 可通过 getHoldState 获取当前通话保持状态

    当通话不在进行中状态时调用会失败

  • 设置通话结束后的座席状态

    Parameters

    Returns any

    • 此设置会影响下一次通话结束后的座席状态
    • 默认为示闲状态 FREE
  • 获取座席示忙/示闲状态

    Returns boolean

    当前是否处于示忙状态

    • true: 示忙状态,不会收到新的呼叫分配
    • false: 示闲状态,可以正常接收呼叫

    状态变更场景:

    • 调用 checkin 签入根据指定参数设置示忙/示闲状态
    • 调用 applyStatePause 接口主动发起示忙/示闲切换
  • 判断当前座席是否为主座席

    Returns boolean

    是否为主座席

    • true: 当前座席为主座席
    • false: 当前座席为其他三方座席
  • 获取主访客成员信息

    Returns undefined | JRTCRoomParticipant

    主访客成员对象,如果不在通话中则返回undefined

    主访客是指发起本次通话的访客,区别于后续可能加入的其他访客

  • 获取所有访客成员列表

    Returns ArrayList<JRTCRoomParticipant>

    访客成员对象数组

    返回结果说明:

    • 不在通话中时返回空数组
    • 当通话中不存在第三方访客时,数组中只包含主访客成员
    • 当通话中存在第三方访客时,数组包含主访客和所有第三方访客
  • 获取当前座席自己的成员信息

    Returns undefined | JRTCRoomParticipant

    当前座席的成员对象

    可用于获取自己在通话中的角色、状态等信息

  • 获取通话中的所有成员列表

    Returns any

    所有成员对象的数组

    返回的列表包含:

    • 当前座席自己
    • 所有访客成员
    • 其他座席成员
  • 获取通话中的指定成员

    Parameters

    • userId: string

    Returns undefined | JRTCRoomParticipant

    获取的成员

    返回要获取的成员

  • 获取业务唯一标识

    Returns undefined | string

    业务唯一标识字符串

    • 该标识可用于通过业务管理平台第三方接口查询话务信息
    • 例如查询录制视频文件的URL等
  • 获取通话唯一标识

    Returns undefined | string

    通话唯一标识字符串

    用于唯一标识一次通话,可用于日志追踪、问题定位等场景

  • 获取统计信息

    Returns undefined | string

    以字符串形式返回的统计信息

    返回的字符串包含 "Config"、"Network"、"Transport" 和 "Participants" 4个节点, 分别表示音视频设置信息、网络状态信息、传输状态信息和参与者信息。

    统计信息包含以下主要部分:

    1. Config - 音视频设置信息

      • Audio Config - 音频设置,包括编解码、带宽、音频处理等参数
      • Video Config - 视频设置,包括编解码、分辨率、帧率、带宽等参数
    2. Network - 网络统计信息

      • Send Statistic - 数据发送统计,包括发包数、延迟、丢包率等
      • Recv Statistic - 数据接收统计,包括收包数、抖动、带宽估计等
    3. Transport - 传输通道信息

      • 本地和远端地址、通道质量、通道评分等
    4. Participants - 参与者信息

      • 每个参与者的音视频发送/接收统计
      • 订阅状态和质量指标

    示例:

    {
    "Config": {
    "Audio Config": {
    "SRTP": "off",
    "Codec": "opus",
    "Bitrate": 16000,
    // 更多音频配置...
    },
    "Video Config": {
    "Codec": "H264-SVC",
    "Resolution": "1280x720",
    "Framerate": 24,
    // 更多视频配置...
    }
    },
    "Network": {
    "Send Statistic": {
    "RTT": 4,
    "Lost": 2,
    "LostRate": 0,
    // 更多发送统计...
    },
    "Recv Statistic": {
    "Jitter": 1,
    "Lost": 0,
    // 更多接收统计...
    }
    },
    "Transport": {
    "Local": "2.1923737535:32414",
    "Path": "2 [udp]",
    // 更多传输信息...
    },
    "Participants": {
    "2333": {
    // 本地参与者统计...
    },
    "6666": {
    // 远端参与者统计...
    }
    }
    }

    此统计信息可用于监控和诊断通话质量问题,评估网络状况,以及优化音视频参数设置。

  • 获取实时统计信息

    Returns undefined | string

    以JSON字符串形式返回的实时统计信息

    返回的字符串包含多个关键性能指标,包括带宽估计、码率、延迟和丢包率等。

    示例:

    {
    "localActor": "[username:2333@100645.cloud.justalk.com]", // 用户标识
    "sendBWE": "1440", // 发送带宽估计(kbps)
    "recvBWE": "929", // 接收带宽估计(kbps)
    "sendBr": "16", // 发送码率(kbps)
    "recvBr": "772", // 接收码率(kbps)
    "sendJitter": "1", // 发送抖动(ms)
    "recvJitter": "0", // 接收抖动(ms)
    "sendLossRate": "0", // 发送丢包率(%)
    "recvLossRate": "0", // 接收丢包率(%)
    "encodeTime": "0", // 编码时长(ms)
    "rtt":"5", // 往返延时(ms)
    "audioSendBr": "19", // 音频发送码率(kbps)
    "videoSendBr": "0", // 视频发送码率(kbps)
    "audioLevel": "58", // 音量级别(0-100)
    "event":"" // 事件信息
    }
  • 获取当前通话支持的视频分辨率列表

    Returns any

    支持的视频分辨率列表

    • 返回的列表中包含所有可用的视频分辨率选项
    • 可用于在通话过程中动态调整视频质量
  • 设置屏幕采集控制模式

    Parameters

    • useExternalControl: boolean

      是否使用外部控制模式

    Returns any

    控制屏幕采集的开启/关闭逻辑:

    • true: 由应用层通过 enableScreenCapture 接口控制
    • false: 由SDK根据通话业务自动控制(默认模式)

    SDK自动控制模式下的行为:

    • 通话建立且开启屏幕共享时,自动开启屏幕采集
    • 关闭屏幕共享或通话结束时,自动关闭屏幕采集
  • 查询所有业务号列表

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
    • 调用成功后,结果通过 onGetAllGroups 回调上报
    • 返回true仅表示接口调用成功,实际查询结果需要通过回调获取
  • 查询指定业务号的空闲座席列表

    Parameters

    • businessNumber: string

      业务号,例如"10087"

    Returns number

    操作ID,用于匹配回调结果

    • 查询结果通过 onQueryAvailableAgentList 回调上报
    • 返回的操作ID与回调中的operationId参数对应,用于识别查询结果
    const operationId = agent.queryAvailableAgentList("10087");
    // 在onQueryAvailableAgentList回调中匹配operationId获取结果
  • 座席签入

    Parameters

    • userId: string

      座席用户ID,需与业务管理平台配置的staffId对应

    • busy: boolean

      签入后的示忙/示闲状态

    • checkinParam: JRTCAgentCheckinParam

      签入的其他参数

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
    • 调用前需确保JRTCClient已登录成功
    • 调用前建议先通过 getOperatorState 检查当前签入状态
    • 如果userId为空,则使用当前登录用户ID签入
    • busy为true表示签入后为示忙状态,false表示示闲状态
    • 签入结果通过 onCheckin 回调上报
    const success = agent.checkin("agent001", false, checkinParam);
    if (success) {
    // 等待onCheckin回调
    }
  • 座席签出

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
    • 签出后将不会收到排队机的呼叫分配
    • 签出不影响JRTCClient的登录状态
    • 可通过 getOperatorState 获取当前签入状态
    • 签出结果通过 onCheckout 回调上报
  • 加入通话

    Parameters

    • serialNumber: string

      业务唯一标识

    • partRole: JRTCCallCenterRole

      加入通话的成员角色

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 座席回呼

    Parameters

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 接听来电

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
    • 适用于主座席、第三方座席或被转接的座席接听通话
    • 接听结果通过 onCallStateChanged 回调上报
  • 结束通话

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常

    不同场景下的行为:

    1. 来电振铃时:拒绝接听,访客会被分配给其他座席
    2. 主座席调用:结束整个通话,所有成员离开
    3. 第三方座席调用:仅自己离开通话,其他成员继续通话
    • 主座席结束通话时,所有成员会收到 onCallStateChanged 或 JRTCGuestCallback.onCallStateChanged onCallStateChanged 通话结束回调
    • 第三方座席离开时,其他成员会收到 JRTCGuestCallback.onMemberLeave onMemberLeave 或 onMemberLeave 成员离开回调
  • 设置示忙/示闲状态(带子状态)

    Parameters

    • pause: boolean

      true表示示忙,false表示示闲

    • OptionalsubState: number

      子状态,用于报表数据统计,取值[0-9]

    Returns number

    操作ID,用于匹配回调结果

    • 示忙状态下不会收到新的呼叫分配
    • 示闲状态下可以正常接收呼叫
    • 通话过程中调用不影响当前通话,从下一个通话开始生效
    • subState说明:
      • 0: 默认子状态
      • 1~9: 自定义子状态
    • 返回值 > 0 表示操作ID,对应 onApplyResult 回调的operationId
    • 返回值 -1 表示接口调用异常
  • 通话转接

    Parameters

    Returns number

    操作ID,用于匹配回调结果

    支持两种转接类型:

    1. 转接到业务组:type为 GROUP,id为业务组号
    2. 转接到具体座席:type为 STUFF,id为座席用户ID
    • 直呼场景接通后不支持通话转接
    • 转接结果通过 onTransferCallResult 回调上报
    • 转接成功时,访客会收到 JRTCGuestCallback.onCallForwarding onCallForwarding 回调
    • 返回值 > 0 表示操作ID,对应回调中的operationId
    • 返回值 -1 表示接口调用异常
  • 音视频通话类型切换

    Parameters

    Returns any

    支持的通话类型:

    • AUDIO: 语音通话

    • VIDEO: 视频通话

    • 可通过 getCallType 获取当前通话类型

    • 切换成功后,通话中所有成员会收到 JRTCGuestCallback.onCallTypeChanged onCallTypeChanged 或 onCallTypeChanged 回调

  • 请求SIP成员切换音视频通话类型

    Parameters

    • callType: JRTCCallCenterCallType

      目标通话类型

    • userId: string

      SIP用户ID

    • extraInfo: string

      额外参数信息

    Returns boolean

    接口调用是否成功

    • 目前仅支持在SIP通话场景下使用
    • 目前仅支持请求切换到视频通话类型
    • 操作结果通过 onTurnCallTypeForSipResult 回调上报
  • 邀请第三方访客加入通话

    Parameters

    • userId: string

      要邀请的访客用户ID

    • extraInfo: string

      邀请携带的额外信息

    • OptionalinviteParam: JRTCCallCenterInviteParam

      邀请的其他参数

    Returns boolean

    接口调用是否成功

  • 邀请第三方座席加入通话

    Parameters

    • userId: string

      要邀请的座席用户ID

    Returns boolean

    接口调用是否成功

  • 切换自己在通话中角色

    Parameters

    Returns number

    操作ID,用于匹配回调结果

    • 需要先进入通话
    • 目前只支持从观察者座席角色切换到主座席角色
    • 支持的角色类型:
    • 返回值 > 0 表示操作ID,对应 onSwitchPartRoleResult 回调的 operationId
    • 返回值 -1 表示接口调用异常
  • 踢出通话成员

    Parameters

    • userId: string

      要踢出的成员用户ID

    Returns number

    操作ID,用于匹配回调结果

    • 只有主座席角色可以使用该功能
    • 返回值 > 0 表示操作ID,对应 onKickParticipantResult 回调的operationId
    • 返回值 -1 表示接口调用异常
  • 请求访客签名

    Parameters

    • userId: string

      需要请求签名的访客用户ID

    • extraInfo: string

      随路额外消息

    Returns boolean

    接口调用是否成功

    签名流程:

    1. 座席调用此接口向指定访客发送签名请求
    2. 访客收到 JRTCGuestCallback.onSignRequest onSignRequest 回调
    3. 访客进行签名,并将签名图片上传至业务管理平台(需要应用层自行实现)
    4. 访客响应座席签名结果
  • 请求单向视频

    Parameters

    • turnOn: boolean

      是否开启单向视频

    Returns any

    • 座席调用此接口后,会向全体访客发送单向视频请求
    • 访客会收到 JRTCGuestCallback.onOnewayVideoChanged onOnewayVideoChanged 回调
    • 应用需要自行实现单向视频功能,例如访客用图片遮挡该座席画面
    • SDK不会对画面进行单向处理
  • 处理访客加急请求

    Parameters

    • serialNumber: string

      业务唯一标识

    • callerNumber: string

      发起加急请求的用户ID

    • agree: boolean

      是否同意加急请求

    Returns number

    操作ID,用于匹配回调结果

    加急请求处理流程:

    1. 访客在排队过程中调用 JRTCGuest.requestUrgent requestUrgent 发起加急请求
    2. 管理员权限的座席收到 onUrgentRequest 回调
    3. 座席调用此接口处理加急请求
    4. 访客收到 JRTCGuestCallback.onUrgentResultResponse onUrgentResultResponse 处理结果回调
    • 如果同意加急请求,访客将被插队到队列最前
    • 返回值为操作ID,对应 onResponseUrgentResult 回调的operationId
  • 发送消息

    Parameters

    • contentType: string

      消息内容类型

    • content: string

      消息内容

    • toUserId: string

      接收消息的用户ID,undefined表示发送给所有成员

    Returns boolean

    接口调用是否成功

    • 消息内容不能大于4K
    • 指定成员会收到 JRTCGuestCallback.onMessageReceived onMessageReceived 或 onMessageReceived 回调
    • 如果toUserId为undefined,则给通话中全部成员发送消息
  • 发送文本消息,消息内容不能大于4K

    Parameters

    • content: string

      消息内容

    • toUserId: string

      指定成员的用户ID,传 null 给通话中全部成员发送消息

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常

    该接口主要用于兼容老访客版本设计,发送固定类型 Text 的文本消息

    指定成员会收到 JRTCGuestCallback.onMessageReceived onMessageReceived 或 onMessageReceived 回调

  • 发送事件通知消息

    Parameters

    • notifyMessage: JRTCNotifyMessage

      事件通知实体对象

    • toUserId: string

      接收消息的用户ID,undefined表示发送给所有成员

    Returns boolean

    接口调用是否成功

    • 通话中的其他成员会收到 JRTCGuestCallback.onNotifyMessageReceived onNotifyMessageReceived 或 onNotifyMessageReceived 回调
    • 如果toUserId为undefined,则给通话中全部成员发送通知消息
  • 开启/关闭发送本地音频流

    Parameters

    • enable: boolean

      开启/关闭发送本地音频流

      • true: 开启,即发送本地音频流
      • false: 关闭,即不发送本地音频流

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
    • 调用该方法可开启或关闭发送本地音频流。开启后,通话成员将听见本端声音;关闭后,通话将听不见本端声音
    • 通话中调用此方法不影响接收远端音频
    • 初始化JRTCAgent时,默认不发送本地音频流。若要进入通话时,让通话内其他成员听见本端声音,建议在进入通话前设置
    • 该方法在通话内和通话外均可调用,离开通话后会重置。
    • 通话中也可调用此方法开启或关闭发送本地音频流,服务器会更新状态并同步给其他房间成员,即通话中所有成员都会收到 JRTCGuestCallback.onMemberUpdate onMemberUpdate 或 onMemberUpdate 回调
    • 在调用此方法时,用户不在通话中,不会收到回调
    • 在调用此方法时,用户在通话中,会收到 onCallPropertyChanged 回调
  • 开启/关闭发送本地视频流

    Parameters

    • enable: boolean

      是否发送本地视频流

      • true: 开启,即发送本地视频流
      • false: 关闭,即不发送本地视频流

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
    • 调用该方法可开启或关闭发送本地视频流。开启后,通话成员将可以看见本端视频画面;关闭后,通话成员将看不见本端视频画面
    • 通话中调用此方法不影响接收远端视频
    • 初始化JRTCAgent时,默认发送本地视频流。若要进入通话时,让通话内其他成员看见本端视频画面,建议在进入通话前设置
    • 该方法在通话内和通话外均可调用,离开通话后会重置。
    • 通话中也可调用此方法开启或关闭发送本地视频流,服务器会更新状态并同步给其他通话成员,即通话中所有成员都会收到 JRTCGuestCallback.onMemberUpdate onMemberUpdate 或 onMemberUpdate 回调
    • 在调用此方法时,用户不在通话中,不会收到回调
    • 在调用此方法时,用户在通话中,会收到 onCallPropertyChanged 回调
  • 获取本地音频数据是否在上传

    Returns boolean

    是否上传音频数据

    • true: 上传中
    • false: 未上传
  • 获取本地视频数据是否在上传

    Returns boolean

    是否在上传本地视频数据

    • true: 上传中
    • false: 未上传
  • 发送音频空包

    Parameters

    • empty: boolean

      音频发送包是否为空包

      • true: 发送音频空包
      • false: 发送正常音频包

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常

    该接口不会导致成员的 audio 属性变化, 发送音频空包不代表停止发送音频流。可用于临时屏蔽音频内容但保持音频流连接。

  • 发送视频空包

    Parameters

    • empty: boolean

      视频发送包是否为空包

      • true: 发送视频空包
      • false: 发送正常视频包

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常

    该接口不会导致成员的 video 属性变化, 发送视频空包不代表停止发送视频流。可用于临时屏蔽视频内容但保持视频流连接。

  • 开启/关闭屏幕共享

    Parameters

    • enable: boolean

      开启或关闭屏幕共享

      • true: 开启屏幕共享
      • false: 关闭屏幕共享
    • OptionalsendScreenParam: JRTCSendScreenParam

      屏幕共享媒体参数

    • OptionalenableAudio: boolean

      是否采集系统音频

      • true: 采集系统音频
      • false: 不采集系统音频

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常

    如果 setUseExternalScreenCaptureControl 设置为 true, 则该接口只负责信令通知,请确保开启屏幕共享前,已经开启了屏幕采集, 否则远端用户收到屏幕共享画面为黑屏。

  • 暂停/继续屏幕共享

    Parameters

    • suspend: boolean

      是否暂停屏幕共享

      • true: 暂停屏幕共享
      • false: 继续屏幕共享
    • tip: string

      暂停屏幕共享后显示的提示文字

    Returns boolean

    接口调用结果

    • true: 接口调用成功,可通过 isSuspendScreenShare 判断当前屏幕共享是否暂停
    • false: 接口调用异常

    只有自己发起的屏幕共享可以使用该接口暂停,多次调用会覆盖之前的设置。

  • 获取屏幕共享是否处于暂停状态

    Returns boolean

    屏幕共享暂停状态

    • true: 屏幕共享已暂停
    • false: 屏幕共享未暂停
  • 获取屏幕共享的视频流ID

    Returns string

    屏幕共享的视频流ID

    • 有屏幕共享时返回屏幕共享的视频流ID
    • 无屏幕共享时返回 undefined

    JRTCVideoComponent 渲染通话中其他成员的屏幕共享画面时使用

  • 获取发起屏幕共享者的用户ID

    Returns string

    发起屏幕共享者的用户ID

    • 有屏幕共享时返回发起屏幕共享者的用户ID
    • 无屏幕共享时返回 undefined

    可用来判断当前通话中是否有成员发起屏幕共享

  • 设置本端视频宽高比

    Parameters

    • ratio: number

      视频宽高比

    Returns boolean

    接口调用是否成功

    • 将自己的视频采集根据宽高比裁剪后进行发送
    • 通话中其他成员收到的画面将是裁剪后的比例
    • 该方法不影响其他成员的画面在本端的显示比例
    • 必须 开始通话后 设置才能生效
    • 即收到 onCallStateChanged 回调且 type == TALKING 时设置才生效
  • 获取视频请求尺寸

    Returns JRTCVideoSize

    视频请求尺寸

    影响自己看其他成员的视频分辨率

  • 设置视频请求尺寸

    Parameters

    Returns any

    在渲染画面前设置才有效,建议在通话开始前设置

  • 订阅通话中其他成员的视频流

    Parameters

    • participant: JRTCRoomParticipant

      需要订阅视频的成员对象

      • 特定成员:传入 JRTCRoomParticipant 对象以订阅指定成员的视频
      • undefined:表示不订阅任何成员的视频
    • videoSize: JRTCVideoSize

      视频请求的尺寸

      • 特定尺寸:传入 JRTCVideoSize 对象以请求特定分辨率
      • undefined:使用默认尺寸

    Returns boolean

    操作结果

    • true: 接口调用成功
    • false: 接口调用失败

    此方法用于订阅指定成员的视频流,成功订阅后可以接收并显示该成员的视频画面。

    通常需要在订阅成功后,调用媒体设备的相关方法来渲染视频画面。

  • 取消订阅通话中其他成员的视频流

    Parameters

    • participant: JRTCRoomParticipant

      需要取消订阅视频的成员对象

      • 特定成员:传入 JRTCRoomParticipant 对象以取消订阅指定成员的视频
      • undefined:表示取消当前所有的视频订阅

    Returns boolean

    操作结果

    • true: 接口调用成功,会收到 onMemberUpdate 回调
    • false: 接口调用失败

    此方法用于取消订阅指定成员的视频流,取消订阅后将不再接收该成员的视频数据,可节省带宽和性能资源。

    成功调用后会收到参与者更新回调,可关注 videoSize 属性的变化。

  • 订阅通话中屏幕共享的视频流

    Parameters

    • videoSize: JRTCVideoSize

      视频请求的尺寸

      • 特定尺寸:传入 JRTCVideoSize 对象以请求特定分辨率
      • undefined:使用默认尺寸

    Returns boolean

    操作结果

    • true: 接口调用成功
    • false: 接口调用失败

    此方法用于订阅通话中的屏幕共享视频流。成功订阅后,可以接收并显示屏幕共享的内容。

    订阅后,可以通过 getShareStreamId 获取屏幕共享的视频流ID,并用于渲染显示。

  • 取消订阅通话中屏幕共享的视频流

    Returns boolean

    操作结果

    • true: 接口调用成功
    • false: 接口调用失败

    此方法用于取消订阅通话中的屏幕共享视频流。取消订阅后,将不再接收屏幕共享的视频数据, 可以节省带宽和处理资源。

  • 开启/关闭远程录制

    Parameters

    Returns boolean

    操作结果

    • true: 接口调用成功
    • false: 接口调用失败
    • 仅在 isAutoRecord == false 时调用接口有效
    • 即访客发起呼叫时,呼叫参数 autoRecord 需要为 false
    • 由服务器自动开启远程录制时,水印内容由业务管理平台配置
    • 调用接口手动开启远程录制时,水印内容由参数 recordParam.watermarkTextMap 决定
  • 开启/关闭本地录制

    Parameters

    • enable: boolean

      是否开启本地录制

      • true: 开启本地录制功能
      • false: 关闭本地录制功能
    • recordParam: JRTCRecordLocalParam

      本地录制参数配置

      • 开启录制时(enable=true):filePath 必须设置,其余参数不设置则使用默认配置
      • 关闭录制时(enable=false):可传入 undefined

    Returns boolean

    操作结果

    • true: 接口调用成功
    • false: 接口调用失败

    此方法用于控制本地录制功能的开启和关闭。录制的文件将保存在指定的路径中。

    重要:请确保调用接口前本地录制文件所在目录已经存在,否则会录制失败。

  • 更新本地录制自定义布局

    Parameters

    Returns boolean

    操作结果

    • true: 接口调用成功
    • false: 接口调用失败

    此方法用于动态更新本地录制时的视频布局,可以在录制过程中多次调用来改变布局效果。

    自定义布局可以调整各个参与者视频画面的位置、大小和层级关系,适用于需要特定布局效果的场景。

  • 是否正在本地录制

    Returns boolean

    本地录制状态

    • true: 当前正在进行本地录制
    • false: 当前未进行本地录制

    此方法用于检查当前是否正在进行本地录制。可以在需要了解录制状态的场景下使用, 例如更新UI状态或决定是否执行特定操作。

  • 开启/关闭远程视频录制

    Parameters

    • enable: boolean

      是否开启远程视频录制

      • true: 开启远程视频录制
      • false: 关闭远程视频录制
    • recordParam: undefined | JRTCRecordRemoteParam

      远程录制参数配置

      • 开启录制时(enable=true):可传入特定参数或 undefined 使用默认配置
      • 关闭录制时(enable=false):可传入 undefined

    Returns boolean

    操作结果

    • true: 接口调用成功
    • false: 接口调用失败

    此方法用于控制远程服务器的视频录制功能。开启后,服务器将录制通话内容。

    录制状态变化会通过 onCallPropertyChanged 回调通知, 可关注 remoteRecordState 属性。

    可以通过 getRemoteRecordState 接口获取当前服务器录制状态。

  • 更新远程录制自定义布局

    Parameters

    Returns boolean

    操作结果

    • true: 接口调用成功
    • false: 接口调用失败

    此方法用于动态更新远程录制时的视频布局,可以在录制过程中多次调用来改变布局效果。

    自定义布局可以调整各个参与者视频画面在录制中的位置、大小和层级关系。

  • 更新远程录制水印信息

    Parameters

    • watermarkTextMap: HashMap<string, string>

      水印文本信息映射表

      • 具体水印映射:传入键值对形式的水印文本信息
      • undefined:移除所有水印

    Returns boolean

    操作结果

    • true: 接口调用成功
    • false: 接口调用失败

    此方法用于在远程录制的视频上添加或更新文字水印。

    水印可以用于标识录制内容的来源、时间、版权等信息,提高录制内容的专业性和安全性。

  • 获取远程视频录制状态

    Returns JRTCRemoteRecordState

    当前远程录制状态

    • NONE:无法进行视频录制。用户不在通话中或加入通话时未设置录制参数
    • READY:可以开启视频录制。用户在加入通话时设置了录制参数,但未开始录制
    • RUNNING:正在录制中。用户在加入通话时设置了录制参数,且当前正在录制

    此方法用于查询当前远程录制的状态,可以据此更新UI界面或执行相关操作。

    远程录制状态变化会通过 onCallPropertyChanged 回调通知。

  • 远程录制视频打点

    Parameters

    • timespan: string

      时间戳,用于标识打点位置

    • info: string

      打点信息,可包含任意文本描述

    Returns boolean

    操作结果

    • true: 接口调用成功
    • false: 接口调用失败

    此方法用于在录制的视频中添加标记点,方便后续查看时快速定位到重要时刻。

    打点信息将与时间戳一起保存,可用于描述该时刻发生的重要事件或内容变化。

  • 开启或关闭本地麦克风的增益(软件增益)

    Parameters

    • enable: boolean

      是否开启麦克风增益

      • true: 开启麦克风增益
      • false: 关闭麦克风增益

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
    • 默认情况下,麦克风增益功能是开启的
    • 需要在加入房间后调用此方法才能生效
    • 麦克风增益可以提高声音的音量,使声音更加清晰
  • 设置是否向后兼容老版本访客,默认 false,不兼容

    Parameters

    • value: boolean

      是否向后兼容版本

      • true: 兼容
      • false: 不兼容

    Returns void

    目前用于兼容 1.0 版本访客消息互通问题; 如果不是特殊环境需求,谨慎设置,可以先和集成开发沟通是否需要

  • 设置是否订阅屏幕共享

    Parameters

    • enable: boolean

      是否订阅屏幕共享

      • true: 自动订阅通话中的屏幕共享内容
      • false: 不自动订阅屏幕共享内容

    Returns boolean

    操作结果

    • true: 接口调用成功
    • false: 接口调用失败

    此方法用于控制是否自动订阅通话中的屏幕共享内容。设置为自动订阅后, 当通话中有成员开始共享屏幕时,将自动接收屏幕共享视频流。

    这个设置适用于需要自动显示屏幕共享内容的场景,避免手动调用订阅方法。

  • 获取是否订阅屏幕共享

    Returns boolean

    屏幕共享订阅状态

    • true: 当前设置为自动订阅屏幕共享
    • false: 当前设置为不自动订阅屏幕共享

    此方法用于查询当前是否设置了自动订阅屏幕共享。可以根据此状态 决定是否需要调用 setSubScreenShare 方法改变设置。

  • 发起业务

    Returns void

  • 业务成功开始

    Parameters

    • eventCode: number

      事件码

    Returns void

  • 业务结束

    Parameters

    • eventCode: number

      事件码

    Returns void