访客管理

Hierarchy

  • JRTCModuleBase
    • JRTCGuest

Methods

  • 创建 JRTCGuest 对象,为单例,重复调用返回同一对象

    Parameters

    Returns JRTCGuest

    JRTCGuest 对象

    • JRTCGuest 的所有接口函数,如无特殊说明,都建议再主线程调用
    • 请确保在调用其他 API 前先调用该方法创建并初始化 JRTCClient 对象,JRTCMediaDevice 对象
    • 调用此方法前确保 JRTCClient 已完成初始化,即 state 方法获取的状态值不等于 JRTCClientState#NOT_INIT NOT_INIT
    • 调用此方法创建 JRTCGuest 对象后,期间没有调用过 #destroy 方法销毁对象,然后又重复调用此方法,会直接返回第一次创建的 JRTCGuest 对象

    "初次创建时 JRTCClient、JRTCMediaDevice、JRTCGuestCallback 任意一个参数传空就会创建失败"

  • 销毁 JRTCGuest 对象

    Returns void

    该方法为同步调用,需要等待 JRTCGuest 实例资源释放后才能执行其他操作,调用此方法后,你将无法再使用 JRTCGuest 的其它方法和回调。
    我们 不建议 在 JRTCSDK 的回调中调用此方法销毁 JRTCGuest 对象,否则可能出现崩溃现象。
    如需在销毁后再次创建 JRTCGuest 实例,需要等待 destroy 方法执行结束后再创建实例。

  • 销毁对象

    Returns any

  • 获取当前通话保持状态

    座席可调用 JRTCAgent#setHoldState 接口修改当前通话的保持状态。

    Returns boolean

    当前通话是否保持

    • true:当前通话状态为保持
    • false:当前通话状态为正常
  • 获取单向视频状态

    座席可调用 JRTCAgent#requestOnewayVideo: requestOnewayVideo 接口修改当前通话的单向视频状态。

    Returns boolean

    单向视频状态

    • true: 处于单向视频
    • false: 不处于单向视频
  • 是否主访客

    Returns boolean

    • true 主访客
    • false 其他三方访客
  • 获取主座席成员

    Returns JRTCRoomParticipant

    • 只有在通话中且通话中存在座席成员才能获得座席成员对象,否则为 undefined
    • 座席成员发起转接成功后,在新的座席对象接听通话前这段时间内,获取的值为 undefined
  • 获取座席成员列表

    Returns any

    • 只有在通话中且通话中存在座席成员才能获得含有座席成员对象的数组,返回空数组
    • 当通话中不存在第三方座席时,数组中仅包含一个主座席成员对象
    • 当通话中存在第三方座席时,数组中包含主座席和第三方座席成员对象
    • 当通话中仅存在一个座席时,座席成员发起转接成功后,在新的座席对象接听通话前这段时间内,返回空数组
  • 获取所有成员(包含自己、座席和其他访客)

    Returns any

  • 获取房间号

    Returns string

    房间号

  • 获取服务唯一标识

    上层可使用该参数通过业务管理平台第三方接口查询到话务信息,如录制视频文件的URL

    Returns string

    服务唯一标识

  • 获取通话唯一标识

    Returns string

    通话唯一标识

  • 获取屏幕共享的视频流ID

    调用 JRTCMediaDevice#startVideo startVideo 接口渲染通话中其他成员的屏幕共享画面时使用。

    Returns string

    • 有屏幕共享时返回屏幕共享的视频流ID
    • 无屏幕共享时返回 undefined
  • 获取发起屏幕共享者的用户ID

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

    Returns string

    • 有屏幕共享时返回发起屏幕共享者的用户ID
    • 无屏幕共享时返回 undefined
  • 获取统计信息

    以字符串形式返回,其中包含 "Config", "Network","Transport" 和 "Participants" 4个节点:

    Returns string

  • 获取实时统计信息

    以Json字符串形式返回,包含以下信息:

    Returns string

  • 获取该通话支持的视频分辨率列表

    Returns ArrayList<JRTCVideoSize>

    通话视频分辨率列表

  • 设置是否由应用层自行控制屏幕采集逻辑,默认 false,由 SDK 内部根据通话业务开始/结束自动控制屏幕采集开启/关闭逻辑,比如通话建立时开启屏幕共享自动开启屏幕采集,关闭屏幕共享或者通话结束时自动关闭屏幕采集。

    Parameters

    • useExternalControl: boolean

      是否由应用层自行控制屏幕采集逻辑

      • true 由应用层自行调用 (boolean) enableScreenCapture 接口控制屏幕采集开启/关闭逻辑。
      • false 由 SDK 内部根据通话业务开始/结束自动控制屏幕采集开启/关闭逻辑。

    Returns any

  • 获取业务号列表

    Returns boolean

    接口调用结果

    • true: 接口调用成功,返回结果通过 onGetAllGroups 回调上报
    • false: 接口调用异常
  • 呼叫指定业务

    Parameters

    • number: string

      业务号,如10087,一般由业务管理人员在业务管理平台上配置业务,然后将业务号给开发人员

    • callParam: JRTCCallCenterCallParam

      呼叫参数设置,可以设置通话分辨率、全局宽高比等参数,此参数可传 undefined 则使用默认配置,详见 JRTCCallCenterCallParam

    Returns boolean

    接口调用结果

    • true: 接口调用成功,通话状态会通过 onCallStateChanged 回调上报
    • false: 接口调用异常
  • 呼叫指定座席

    Parameters

    • userId: string

      座席 id,如agent1,一般由业务管理人员在业务管理平台上配置座席id,然后将座席id给开发人员

    • callParam: JRTCCallCenterCallParam

      呼叫参数设置,可以设置通话分辨率、全局宽高比等参数,此参数可传 undefined 则使用默认配置,详见 JRTCCallCenterCallParam

    Returns boolean

    接口调用结果

    • true: 接口调用成功,通话状态会通过 onCallStateChanged 回调上报
    • false: 接口调用异常
  • 接听

    仅在作为第三方访客同意接听通话邀请时调用,其他情况不会用到此接口。

    Returns boolean

    接口调用结果

    • true: 接口调用成功,会接收到 onCallStateChanged 回调
    • false: 接口调用异常
  • 结束通话

    Returns boolean

    接口调用结果

    • true: 接口调用成功,会收到 onCallStateChanged 回调
    • false: 接口调用异常
    • 主访客调用此接口会结束通话,通话中所有成员都会离开,此通通话销毁,所有成员会收到 JRTCAgentCallback#onCallStateChanged onCallStateChanged 或 onCallStateChanged 通话结束回调。
    • 第三方访客调用此接口仅自身离开通话,通话中其他成员会收到该成员离开的回调 onMemberLeave 或 JRTCAgentCallback#onMemberLeave onMemberLeave 回调,通话继续进行。
  • 请求加急

    请求加急流程:

    1. 访客在排队过程中调用此接口发起加急请求
    2. 管理员权限的座席(业务管理平台配置)收到 JRTCAgentCallback#onUrgentRequest onUrgentRequest 回调
    3. 座席收到回调后调用 JRTCAgent#responseUrgent responseUrgent 接口对加急请求进行处理
    4. 座席处理后,访客会收到 onUrgentResultResponse 加急请求处理结果回调,如果座席同意加急请求,则将会插队到队列最前

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 音视频通话切换

    可以通过 #getCallType 接口获取当前的通话类型
    通话中所有成员都将收到onCallTypeChanged 或 JRTCAgentCallback#onCallTypeChanged onCallTypeChanged 回调

    Parameters

    Returns any

    当前通话类型

  • 发送消息,消息内容不能大于4K

    指定成员会收到 onMessageReceived 或 JRTCAgentCallback#onMessageReceived onMessageReceived 回调

    Parameters

    • contentType: string

      消息内容类型

    • content: string

      消息内容

    • toUserId: string

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

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 发送事件通知消息

    通话中的其他成员会收到 onNotifyMessageReceived 或 JRTCAgentCallback#onNotifyMessageReceived onNotifyMessageReceived 回调

    Parameters

    • notifyMessage: JRTCNotifyMessage

      事件通知实体对象

    • toUserId: string

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

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 开启/关闭发送本地音频流

    通话中调用该方法可开启或关闭发送本地音频流。开启后,通话中的成员将听见本端声音;关闭后,频道成员将听不见本端声音
    通话中调用此方法成功后,服务器会更新状态并同步给通话中所有成员,即所有成员会收到 onMemberUpdate 或 JRTCAgentCallback#onMemberUpdate onMemberUpdate 回调,具体可关注 JRTCRoomParticipant#isAudio audio 和 JRTCRoomParticipant#isAudio audio
    通话中调用此方法不影响接收其他成员的音频流

    Parameters

    • enable: boolean

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

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

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 开启/关闭发送本地视频流

    通话中调用该方法可开启或关闭发送本地视频流。开启后,通话中的成员将看见本端画面;关闭后,频道成员将看不见本端画面
    通话中调用此方法成功后,服务器会更新状态并同步给通话中所有成员,即所有成员会收到 onMemberUpdate 或 JRTCAgentCallback#onMemberUpdate onMemberUpdate 回调,具体可关注 JRTCRoomParticipant.ChangeParam#video video 和 JRTCRoomParticipant#isVideo video
    通话中调用此方法不影响接收其他成员的视频流

    Parameters

    • enable: boolean

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

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

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 获取本地音频数据是否在上传

    Returns boolean

    是否上传音频数据

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

    Returns boolean

    是否在上传本地视频数据

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

    该接口不会导致成员的 JRTCRoomParticipant#isAudio audio 属性变化,发送音频空包不代表停止发送音频流。一般用于座席保持通话后使用。

    Parameters

    • empty: boolean

      音频发送包是否为空包

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

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 发送视频空包

    该接口不会导致成员的 JRTCRoomParticipant#isVideo video 属性变化,发送视频空包不代表停止发送视频流。一般用于座席保持通话后使用。

    Parameters

    • empty: boolean

      视频发送包是否为空包

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

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 开启/关闭屏幕共享

    Parameters

    • enable: boolean

      开启或关闭屏幕共享

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

    Returns boolean

    接口调用结果

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

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

    成员开启或关闭屏幕共享,通话中的所有成员会收到 JRTCAgentCallback#onCallPropertyChanged onCallPropertyChanged 或 JRTCAgentCallback#onCallPropertyChanged onCallPropertyChanged 回调。

  • 暂停/继续屏幕共享

    Parameters

    • suspend: boolean

      true 暂停屏幕共享, false 继续屏幕共享

    • tip: string

      暂停屏幕共享后提示文字

    Returns boolean

    接口调用结果

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

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

  • 是否屏幕共享暂停

    Returns boolean

    • true: 暂停屏幕共享
    • false: 未暂停屏幕共享
  • 设置本端视频宽高比

    将自己的视频采集根据宽高比裁剪后进行发送,通话中其他成员收到的画面将是裁剪后的比例。
    该方法不影响其他成员的画面在本端的显示比例,也不影响其他成员相互之间的画面显示比例。
    必须 开始通话后 设置才能生效,即收到 onCallStateChanged 回调且 type == JRTCCallCenterCallState#TALKING 时设置才生效。

    Parameters

    • ratio: number

      视频宽高比

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 获取视频请求尺寸

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

    Returns JRTCVideoSize

    视频请求尺寸

  • 设置视频请求尺寸

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

    Parameters

    Returns any

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

    Parameters

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 取消订阅通话中其他成员的视频流

    Parameters

    Returns boolean

    接口调用结果

    • true: 接口调用成功,会收到 onMemberUpdate 回调,具体可关注 JRTCRoomParticipant.ChangeParam#videoSize videoSize 属性
    • false: 接口调用异常
  • 订阅通话中屏幕共享的视频流

    Parameters

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 取消订阅通话中屏幕共享的视频流

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 开启/关闭本地录制

    Parameters

    • enable: boolean

      开启或关闭本地录制

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

      本地录制参数配置,当 enable == true 时,JRTCRecordLocalParam#filePath 必须设置,其余参数不设置则使用默认配置;当 enable == false 时,recordParam 可传 undefined

    Returns boolean

    接口调用结果

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

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

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

    Parameters

    • layoutList: ArrayList<JRTCRecordLocalLayout>

      需要更新的布局列表

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 是否正在本地录制

    Returns boolean

    是否正在本地录制

    • true: 正在本地录制中
    • false: 未进行本地录制
  • 开启/关闭远程视频录制

    当呼叫参数 autoRecord == false 时,可通过此接口开启服务端录制。
    可用过 #getRemoteRecordState 接口获取当前服务器录制状态。

    Parameters

    • enable: boolean

      开启或关闭视频录制

      • true: 开启视频录制
      • false: 关闭视频录制
    • recordParam: JRTCRecordRemoteParam

      录制参数,当 enable == false 时,可传 undefined;当 enable == true 且按照默认配置进行录制可传 undefined

    Returns boolean

    接口调用结果

    • true: 接口调用成功,录制状态通过 onCallPropertyChanged 回调获得,具体可关注 JRTCRoom.PropChangeParam#remoteRecordState remoteRecordState
    • false: 接口调用异常
  • 更新远程录制自定义布局

    Parameters

    • layoutList: ArrayList<JRTCRecordRemoteLayout>

      需要更新的布局列表

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 更新远程录制水印信息

    Parameters

    • watermarkTextMap: HashMap<string, string>

      水印信息

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 获取远程视频录制状态

    Returns JRTCRemoteRecordState

    远程视频录制状态,详见 JRTCEnum.RemoteRecordState

    • JRTCRemoteRecordState#NONE NONE : 无法进行视频录制。用户不在频道中或者加入频道时没有设置视频录制参数
    • JRTCRemoteRecordState#READY READY : 可以开启视频录制。用户在加入频道时设置了录制参数,并且没有在录制视频
    • JRTCRemoteRecordState#RUNNING RUNNING : 视频录制中。用户在加入频道时设置了录制参数,并且正在视频录制中
  • 视频打点

    Parameters

    • timespan: string

      时间戳

    • info: string

      打点信息

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 响应座席签名请求

    请求访客签名流程:

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

    Parameters

    • result: boolean

      签名结果

      • true: 签名成功
      • false: 签名失败
    • userId: string

      需要响应签名请求结果的座席用户ID

    • extraInfo: string

      随路额外消息

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 开启或关闭本地麦克风的增益(软件增益),默认开启

    Parameters

    • enable: boolean

      回调对象

    Returns boolean

    接口调用结果

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

    需要在建立通话后调用

  • 设置是否订阅屏幕共享

    Parameters

    • enable: boolean

      是否订阅屏幕共享

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 获取是否订阅屏幕共享

    Returns boolean

    返回屏幕共享是否订阅

  • 添加回调

    Parameters

    Returns any

  • 删除回调

    Parameters

    Returns any

  • 发起业务

    Returns void

  • 业务成功开始

    Parameters

    • eventCode: number

      事件码

    Returns void

  • 业务结束

    Parameters

    • eventCode: number

      事件码

    Returns void