多方通话管理

Hierarchy

  • JRTCModuleBase
    • JRTCCall

Methods

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

    Parameters

    Returns JRTCCall

    JRTCCall 对象

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

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

    Returns void

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

  • 销毁对象

    Returns void

  • 设置用户角色

    Parameters

    • role: JRTCCallCenterRole

      用户角色

    Returns any

    该接口只有在接受邀请前设置有效,主动加入通话,请使用加入通话参数设置

  • 加入通话

    Parameters

    • OptionalserialId: string

      业务流水号,保证唯一,可选,如果传空,则服务器默认生成

    • Optionalparam: JRTCCallJoinParam

      加入通话参数,传 undefined 则使用默认参数

    Returns boolean

    接口调用结果

    • true: 接口调用成功,会收到 onJoin 回调
    • false: 接口调用异常

    需要已经登录

    该接口支持加入通话并且邀请其他用户加入,通过 JRTCCallJoinParam#setInviteCalleeUserId(string) setInviteCalleeUserId} 和 JRTCCallJoinParam#setInviteCalleeUserType(int) setInviteCalleeUserType} 设置需要邀请的用户ID和用户类型

    该方法让用户加入通话,在同一个通话内的用户可以互相视频语音。
    如果用户已在通话中,必须退出当前通话,即处于空闲状态,才能进入其他通话,否则将直接返回 false,且不会收到回调通知。

    JRTCCallJoinParam

  • 离开通话

    Returns boolean

    接口调用结果

    • true: 接口调用成功,非空闲状态下,会收到 onLeave 回调
    • false: 接口调用异常

    仅自己离开

    需要已经加入通话

  • 结束通话

    Returns boolean

    接口调用结果

    • true: 接口调用成功,非空闲状态下,会收到 onLeave 回调
    • false: 接口调用异常

    自己离开并踢出通话中的其他成员

    需要已经加入通话

  • 邀请其他成员加入通话

    Parameters

    Returns number

    • 操作id: 接口调用成功,对应 onInviteResult 回调的 operatorId 参数
    • -1: 接口调用异常,不会收到回调

    需要已经加入通话

  • 取消邀请

    Returns number

    • 操作id: 接口调用成功,对应 (number, boolean, string) onCancelInviteResult} 回调的 operatorId 参数
    • -1: 接口调用异常,不会收到回调
  • 接受邀请

    Parameters

    • video: boolean

      是否需要视频

    Returns number

    • 操作id: 接口调用成功,对应 (number, boolean, string) onAcceptInviteResult} 回调的 operatorId 参数
    • -1: 接口调用异常,不会收到回调
  • 拒绝邀请

    Returns number

    • 操作id: 接口调用成功,对应 (number, boolean, string) onRejectInviteResult} 回调的 operatorId 参数
    • -1: 接口调用异常,不会收到回调
  • 获取所有成员

    Returns any

  • 根据用户标识获取房间成员

    Parameters

    • userId: string

      用户唯一标识

    Returns JRTCRoomParticipant

    房间成员对象

    • 房间内无此用户标识的用户: undefined
    • 房间内有此用户标识的用户: JRTCRoomParticipant 对象
  • 获取自己当前在房间中的状态

    Returns JRTCRoomState

    当前在房间中的状态

    • JRTCRoomState#IDLE : 空闲状态
    • JRTCRoomState#JOINING : 加入中
    • JRTCRoomState#JOINED : 已加入
    • JRTCRoomState#LEAVING : 离开中
  • 获取业务流水号

    Returns string

    业务流水号

  • 获取通话唯一标识

    Returns string

    通话唯一标识

  • 获取本地音频数据是否在上传

    Returns boolean

    是否上传音频数据

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

    Returns boolean

    是否在上传本地视频数据

    • true: 上传中
    • false: 未上传
  • 获取音频是否输出

    本地没有音频输出的话,就听不到房间内其他成员的声音了

    Returns boolean

    是否音频输出

    • true: 输出中
    • false: 未输出
  • 获取屏幕共享的视频流ID

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

    Returns string

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

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

    Returns string

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

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

    Returns string

  • 获取实时统计信息

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

    Returns string

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

    Returns any

    通话视频分辨率列表

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

    指定成员会收到 onMessageReceived 回调

    Parameters

    • contentType: string

      消息内容类型

    • content: string

      消息内容

    • toUserId: string

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

    Returns number

    接口调用结果

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

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

    Parameters

    • enable: boolean

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

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

    Returns boolean

    接口调用结果

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

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

    Parameters

    • enable: boolean

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

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

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 开启/关闭音频输出

    - 该方法可实现本地静音功能。关闭时听不到房间内其他成员的声音,不影响其他成员;开启时可以听到其他成员声音 - 初始化 JRTCRoom 时,音频输出功能默认是开启的。若要加入房间时听不见其他成员的声音,建议在调用 #join join 加入房间前设置

    Parameters

    • enable: boolean

      是否开启音频输出 - true: 开启音频输出 - false: 关闭音频输出

    Returns boolean

    接口调用结果

  • 发送音频空包

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

    Parameters

    • empty: boolean

      音频发送包是否为空包

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

    Returns boolean

    接口调用结果

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

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

    Parameters

    • empty: boolean

      视频发送包是否为空包

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

    Returns boolean

    接口调用结果

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

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

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

    Parameters

    • enable: boolean

      开启或关闭屏幕共享

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

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用异常
  • 暂停/继续屏幕共享

    Parameters

    • suspend: boolean

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

    • tip: string

      暂停屏幕共享后提示文字

    Returns boolean

    接口调用结果

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

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

  • 是否屏幕共享暂停

    Returns boolean

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

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

    Parameters

    • ratio: number

      视频宽高比

    Returns boolean

    接口调用结果

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

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

    Returns JRTCVideoSize

    视频请求尺寸

  • 设置视频请求尺寸

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

    Parameters

    Returns void

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

    Parameters

    Returns boolean

    接口调用结果

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

    Parameters

    Returns boolean

    接口调用结果

    • true: 接口调用成功,会收到 onParticipantUpdate 回调,具体可关注 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: any

      需要更新的布局列表

    Returns boolean

    接口调用结果

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

    Returns boolean

    是否正在本地录制

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

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

    Parameters

    • enable: boolean

      开启或关闭视频录制

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

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

    Returns boolean

    接口调用结果

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

    Parameters

    • layoutList: any

      需要更新的布局列表

    Returns boolean

    接口调用结果

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

    Parameters

    • watermarkTextMap: any

      水印信息

    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: 接口调用异常
  • 开启或关闭本地麦克风的增益(软件增益),默认开启

    Parameters

    • enable: boolean

      回调对象

    Returns boolean

    接口调用结果

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

    需要在建立通话后调用

  • 设置是否订阅屏幕共享

    Parameters

    • enable: boolean

      是否订阅屏幕共享

    Returns boolean

    接口调用结果

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

    Returns boolean

    返回屏幕共享是否订阅

  • 添加回调

    Parameters

    Returns void

  • 删除回调

    Parameters

    Returns void

  • 发起业务

    Returns void

  • 业务成功开始

    Parameters

    • eventCode: number

      事件码

    Returns void

  • 业务结束

    Parameters

    • eventCode: number

      事件码

    Returns void