JRTCSDK-Android v2401.0
视频客服 API 文档
载入中...
搜索中...
未找到
Public 成员函数 | 静态 Public 成员函数 | Protected 成员函数 | 所有成员列表
JRTCAgent类 参考abstract

Public 成员函数

abstract boolean isAutoRecord ()
 
abstract int getCallState ()
 
abstract int getCallType ()
 
abstract boolean isOnewayVideo ()
 
abstract boolean getHoldState ()
 
abstract boolean setHoldState (boolean hold)
 
abstract int getTermState ()
 
abstract void setTermState (@AgentTermState int state)
 
abstract int getOperatorState ()
 
abstract boolean isPause ()
 
abstract boolean isMainAgent ()
 
abstract JRTCRoomParticipant getMainGuestParticipant ()
 
abstract List< JRTCRoomParticipantgetGuestParticipants ()
 
abstract JRTCRoomParticipant getSelfParticipant ()
 
abstract List< JRTCRoomParticipantgetParticipants ()
 
abstract String getSerialNumber ()
 
abstract String getCallId ()
 
abstract String getStatistics ()
 
abstract String getJsonStats ()
 
abstract List< JRTCVideoSizegetSupportVideoSizes ()
 
abstract void setUseExternalScreenCaptureControl (boolean useExternalControl)
 
abstract boolean queryAllGroups ()
 
abstract int queryAvailableAgentList (String businessNumber)
 
abstract boolean checkin (String userId, boolean busy, JRTCAgentCheckinParam checkInParam)
 
abstract boolean checkIn (String userId, @AgentRoleType int role, boolean busy)
 
abstract boolean checkIn (String userId, @AgentRoleType int role)
 
abstract boolean checkIn (@AgentRoleType int role)
 
abstract boolean checkout ()
 
abstract boolean joinCall (String serialNumber, @PartRole int partRole)
 
abstract boolean recall (String userId, JRTCCallCenterCallParam callParam)
 
abstract boolean answer ()
 
abstract boolean term ()
 
abstract int applyStatePause (boolean pause)
 
abstract int applyStatePause (boolean pause, int subState)
 
abstract int transferCall (@TransferType int type, String id)
 
abstract void turnCallType (@CallType int callType)
 
abstract boolean turnCallTypeForSip (@CallType int callType, String userId, String extraInfo)
 
abstract boolean inviteThirdGuest (String userId, String extraInfo)
 
abstract boolean inviteThirdGuest (String userId, String extraInfo, JRTCCallCenterInviteParam inviteParam)
 
abstract boolean inviteThirdAgent (String userId)
 
abstract int switchPartRole (@PartRole int partRole)
 
abstract int kickParticipant (String userId)
 
abstract boolean requestSign (String userId, String extraInfo)
 
abstract void requestOnewayVideo (boolean turnOn)
 
abstract int responseUrgent (String serialNumber, String callerNumber, boolean agree)
 
abstract boolean sendMessage (String contentType, String content, String toUserId)
 
abstract boolean sendNotifyMessage (JRTCNotifyMessage notifyMessage, String toUserId)
 
abstract boolean enableUploadAudioStream (boolean enable)
 
abstract boolean enableUploadVideoStream (boolean enable)
 
abstract boolean sendAudioEmptyPack (boolean empty)
 
abstract boolean sendVideoEmptyPack (boolean empty)
 
abstract boolean enableScreenShare (boolean enable)
 
abstract boolean suspendScreenShare (boolean suspend, String tip)
 
abstract boolean isSuspendScreenShare ()
 
abstract String getShareStreamId ()
 
abstract String getShareUserId ()
 
abstract boolean setRatio (float ratio)
 
abstract JRTCVideoSize getRequestSize ()
 
abstract void setRequestSize (JRTCVideoSize requestSize)
 
abstract boolean requestVideo (JRTCRoomParticipant participant, JRTCVideoSize videoSize)
 
abstract boolean unRequestVideo (JRTCRoomParticipant participant)
 
abstract boolean requestScreenVideo (JRTCVideoSize videoSize)
 
abstract boolean unRequestScreenVideo ()
 
abstract boolean controlRecord (@AgentRecordAction int action, String watermarkText)
 
abstract boolean controlRecord (@AgentRecordAction int action, JRTCRecordControlParam recordParam)
 
abstract boolean enableLocalRecord (boolean enable, JRTCRecordLocalParam recordParam)
 
abstract boolean updateLocalRecordLayout (List< RecordLayout > layoutList)
 
abstract boolean isLocalRecording ()
 
abstract boolean enableRemoteRecord (boolean enable, JRTCRecordRemoteParam recordParam)
 
abstract boolean updateRemoteRecordLayout (List< JRTCRecordRemoteParam.RecordLayout > layoutList)
 
abstract boolean updateRemoteRecordWatermark (Map< String, String > watermarkTextMap)
 
abstract int getRemoteRecordState ()
 
abstract boolean setVideoDot (String timespan, String info)
 
abstract boolean setSubScreenShare (boolean enable)
 
abstract boolean isSubScreenShare ()
 
abstract boolean enableMicAgc (boolean enable)
 
- Public 成员函数 继承自 JRTCCallCenter
default int convertTermReason (boolean selfTerm, @JRTCEnum.ReasonCode int reason)
 

静态 Public 成员函数

static JRTCAgent create (JRTCClient client, JRTCMediaDevice mediaDevice, JRTCAgentCallback callback)
 
static void destroy ()
 

Protected 成员函数

abstract void destroyObj ()
 

额外继承的成员函数

- Public 属性 继承自 JRTCCallCenter
String MESSAGE_TYPE_NOTIFY = "Juphoon_Notify"
 
String MESSAGE_TYPE_NORMAL = "Juphoon_Message"
 
String MESSAGE_TYPE_SIGN = "Juphoon_Sign"
 
String MESSAGE_TYPE_CALL_FORWARDING = "call forwarding"
 
String KEY_MESSAGE_TYPE = "MessageType"
 
String KEY_CONTENT_TYPE = "ContentType"
 
String KEY_CONTENT = "Content"
 
String KEY_TYPE = "Type"
 
String KEY_SIGN = "Sign"
 
String KEY_SIGN_RESULT = "SignResult"
 
String KEY_EVENT = "event"
 
String KEY_DESC = "desc"
 
String KEY_EXTRA = "extra"
 
String KEY_CALL_TYPE = "CallType"
 
String KEY_HOLD_USER_ID = "HoldUserId"
 
String KEY_ONE_WAY = "Oneway"
 
String KEY_RESULT = "result"
 
int CALL_TYPE_VIDEO = 1
 
int CALL_TYPE_AUDIO = 0
 
int CALL_STATE_IDLE = 0
 
int CALL_STATE_CALLING = 1
 
int CALL_STATE_WAITING = 2
 
int CALL_STATE_INCOMING = 3
 
int CALL_STATE_TALKING = 4
 
int CALL_STATE_JOINING = 5
 
int CALL_INCOMING_TYPE_INIT = -1
 
int CALL_INCOMING_TYPE_CALL = EN_MTC_CC_INVITE_EVENT_TYPE_CALLING
 
int CALL_INCOMING_TYPE_INVITE = EN_MTC_CC_INVITE_EVENT_TYPE_INVITING
 
int CALL_INCOMING_TYPE_FORWARD = EN_MTC_CC_INVITE_EVENT_TYPE_FORWARDING
 
int CALL_INCOMING_TYPE_DIRECT_CALL = EN_MTC_CC_INVITE_EVENT_TYPE_DIRECT_CALLING
 
int TERM_REASON_NONE = 0
 
int TERM_REASON_QUIT = 1
 
int TERM_REASON_OVER = 2
 
int TERM_REASON_OFFLINE = 3
 
int TERM_REASON_INCOMING_CANCEL = 4
 
int TERM_REASON_INCOMING_TIMEOUT = 5
 
int TERM_REASON_TIME_OUT = 6
 
int TERM_REASON_JOIN_LICENCE_LIMIT = 7
 
int TERM_REASON_REJECT = 8
 
int TERM_REASON_ROOM_ERROR = 9
 
int TERM_REASON_INVALID_PARAM = 97
 
int TERM_REASON_CALL_FUNCTION_ERROR = 98
 
int TERM_REASON_NOT_LOGIN = 99
 
int TERM_REASON_OTHER = 100
 
int TYPE_1TO1 = 0
 
int TYPE_GROUP = 1
 
int TRANSFER_GROUP = 0
 
int TRANSFER_STUFF = 1
 
int PART_ROLE_INIT = -1
 
int PART_ROLE_MAIN_AGENT = MTC_ROOM_ROLE_CALLCENTER_PRINCIPAL | MTC_ROOM_ROLE_AGENT | MTC_ROOM_ROLE_PARTP
 
int PART_ROLE_AGENT = MTC_ROOM_ROLE_AGENT | MTC_ROOM_ROLE_PARTP
 
int PART_ROLE_MAIN_GUEST = MTC_ROOM_ROLE_CALLCENTER_PRINCIPAL | MTC_ROOM_ROLE_GUEST | MTC_ROOM_ROLE_PARTP
 
int PART_ROLE_GUEST = MTC_ROOM_ROLE_GUEST | MTC_ROOM_ROLE_PARTP
 
int PART_ROLE_VIEWER_AGENT = MTC_ROOM_ROLE_AGENT | MTC_ROOM_ROLE_VIEWER
 
int AGENT_ROLE_UNKNOWN = -1
 
int AGENT_ROLE_JUNIOR = 0
 
int AGENT_ROLE_SENIOR = 1
 
int AGENT_ROLE_EXPERT = 2
 
int AGENT_ROLE_MONITOR = 3
 
int AGENT_ROLE_ADMINISTRATOR = 4
 
int AGENT_ROLE_MANAGER = 5
 
int AGENT_ROLE_VIP = 6
 
int AGENT_ROLE_SPECIFIC = 7
 
int AGENT_ROLE_GENERAL = 8
 
int AGENT_ROLE_MAX = 9
 
int AGENT_CHANGE_TYPE_INCOMING = 0
 
int AGENT_CHANGE_TYPE_TALKING = 1
 
int AGENT_CHANGE_TYPE_TERMED = 2
 
int AGENT_CHANGE_TYPE_CALLING = 3
 
int AGENT_CHANGE_TYPE_JOINING = 4
 
int AGENT_TERM_STATE_BUSY = 0
 
int AGENT_TERM_STATE_FREE = 1
 
int AGENT_CHECK_OUT_REASON_NONE = 0
 
int AGENT_CHECK_OUT_REASON_LAST_ONLINE_OPERATOR = 1
 
int AGENT_CHECK_OUT_REASON_INVALID_PARAM = 97
 
int AGENT_CHECK_OUT_REASON_CALL_FUNCTION_ERROR = 98
 
int AGENT_CHECK_OUT_REASON_NOT_LOGIN = 99
 
int AGENT_CHECK_OUT_REASON_OTHER = 100
 
int AGENT_OPERATOR_IDLE = 0
 
int AGENT_OPERATOR_CHECKING_IN = 1
 
int AGENT_OPERATOR_CHECKING_OUT = 2
 
int AGENT_OPERATOR_CHECKED_IN = 3
 
int AGENT_RECORD_ACTION_START = 0
 
int AGENT_RECORD_ACTION_STOP = 1
 
int GUEST_CHANGE_TYPE_CALLING = 0
 
int GUEST_CHANGE_TYPE_WAITING = 1
 
int GUEST_CHANGE_TYPE_INCOMING = 2
 
int GUEST_CHANGE_TYPE_TALKING = 3
 
int GUEST_CHANGE_TYPE_TERMED = 4
 
int GUEST_ROLE_TYPE_UNKNOWN = -1
 
int GUEST_ROLE_TYPE_GENERAL = 0
 
int GUEST_ROLE_TYPE_VIP = 1
 

详细描述

座席管理

成员函数说明

◆ answer()

abstract boolean answer ( )
abstract

接听

主座席、第三方座席或是被转接的座席,都调用此接口接听通话

返回
接口调用结果
  • true: 接口调用成功,会收到 onCallStateChanged 回调
  • false: 接口调用异常

◆ applyStatePause() [1/2]

abstract int applyStatePause ( boolean  pause)
abstract

示忙/示闲

示忙状态下不会收到呼叫来电,示闲状态下正常呼叫进线
通话过程中调用该接口不会影响当前通话,从下个通话开始状态生效
示忙/示闲的结果通过 onApplyResult 回调上报

参数
pause示忙或是示闲
  • true: 示忙
  • false: 示闲
返回
接口调用结果
  • > 0: 操作id,对应 onApplyResult 回调的 operationId 参数
  • -1:接口调用异常

◆ applyStatePause() [2/2]

abstract int applyStatePause ( boolean  pause,
int  subState 
)
abstract

示忙/示闲

示忙状态下不会收到呼叫来电,示闲状态下正常呼叫进线
通话过程中调用该接口不会影响当前通话,从下个通话开始状态生效
示忙/示闲的结果通过 onApplyResult 回调上报

参数
pause示忙或是示闲
  • true: 示忙
  • false: 示闲
subState子状态,报表数据统计需要,取值[0, 9]
  • 0: 默认子状态
  • 1~9: 自定义子状态
返回
接口调用结果
  • > 0: 操作id,对应 onApplyResult 回调的 operationId 参数
  • -1:接口调用异常

◆ checkIn() [1/3]

abstract boolean checkIn ( @AgentRoleType int  role)
abstract

签入

签入到排队机,签入后默认示闲状态
示闲状态下正常呼叫进线
调用接口前确定 JRTCClient 登录成功
调用该接口前需先确定 operatorState 来获取到当前的签入状态
该方法座席用户ID默认为 userId ,与业务管理平台上配置的座席staffId对应

参数
role座席角色类型,目前该参数已有服务端控制,不再通过终端设置,可忽略
返回
接口调用结果
  • true: 接口调用成功,签入结果会触发 onCheckIn 回调上报
  • false: 接口调用异常
弃用:
请使用 checkin 代替

◆ checkIn() [2/3]

abstract boolean checkIn ( String  userId,
@AgentRoleType int  role 
)
abstract

签入

签入到排队机,签入后默认示闲状态
示闲状态下正常呼叫进线
调用接口前确定 JRTCClient 登录成功
调用该接口前需先确定 operatorState 来获取到当前的签入状态

参数
userId座席用户ID,需与业务管理平台上配置的座席staffId对应
role座席角色类型,目前该参数已有服务端控制,不再通过终端设置,可忽略
返回
接口调用结果
  • true: 接口调用成功,签入结果会触发 onCheckIn 回调上报
  • false: 接口调用异常
弃用:
请使用 checkin 代替

◆ checkIn() [3/3]

abstract boolean checkIn ( String  userId,
@AgentRoleType int  role,
boolean  busy 
)
abstract

签入

签入到排队机,签入后示忙/示闲状态由 busy 参数决定
示闲状态下正常呼叫进线
调用接口前确定 JRTCClient 登录成功
调用该接口前需先确定 operatorState 来获取到当前的签入状态

参数
userId座席用户ID,需与业务管理平台上配置的座席staffId对应
role座席角色类型,目前该参数已有服务端控制,不再通过终端设置,可忽略
busy签入后示忙/示闲状态
  • true: 示忙
  • false: 示闲
返回
接口调用结果
  • true: 接口调用成功,签入结果会触发 onCheckIn 回调上报
  • false: 接口调用异常
弃用:
请使用 checkin 代替

◆ checkin()

abstract boolean checkin ( String  userId,
boolean  busy,
JRTCAgentCheckinParam  checkInParam 
)
abstract

签入

签入到排队机,签入后示忙/示闲状态由 busy 参数决定
示闲状态下正常呼叫进线
调用接口前确定 JRTCClient 登录成功
调用该接口前需先确定 operatorState 来获取到当前的签入状态

参数
userId座席用户ID,需与业务管理平台上配置的座席staffId对应,如果传空,则默认用当前登录用户ID签入
busy签入后示忙/示闲状态
  • true: 示忙
  • false: 示闲
返回
接口调用结果
  • true: 接口调用成功,签入结果会触发 onCheckin 回调上报
  • false: 接口调用异常 @oaram checkinParam 签入其他参数

◆ checkout()

abstract boolean checkout ( )
abstract

签出

签出后将不会收到排队机的呼叫分配
签出排队机不影响 JRTCClient 的登录状态
调用 operatorState 可获取当前签入状态

返回
接口调用结果
  • true: 接口调用成功,签出结果通过 onCheckout 回调上报
  • false: 接口调用异常

◆ controlRecord() [1/2]

abstract boolean controlRecord ( @AgentRecordAction int  action,
JRTCRecordControlParam  recordParam 
)
abstract

开启/关闭远程录制

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

参数
action打开或停止录制
recordParam录制参数对象
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ controlRecord() [2/2]

abstract boolean controlRecord ( @AgentRecordAction int  action,
String  watermarkText 
)
abstract

开启/关闭远程录制

仅在 isAutoRecord == false 时调用接口有效,即访客发起呼叫时,呼叫参数 JRTCCallCenterCallParam#autoRecord 需要为 false 。
由服务器自动开启远程录制,即 isAutoRecord == true 时,水印内容由业务管理平台配置。
调用接口手动开启远程录制时,水印内容由参数 watermarkText 决定。

参数
action打开或停止录制
watermarkText水印内容
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常
弃用:
该方法即将废弃,请使用 controlRecord 替换

◆ create()

static JRTCAgent create ( JRTCClient  client,
JRTCMediaDevice  mediaDevice,
JRTCAgentCallback  callback 
)
static

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

参数
clientJRTCClient 对象
mediaDeviceJRTCMediaDevice 对象
callbackJRTCAgentCallback 回调接口,用于实现 JRTCAgentCallback 事件
返回
JRTCAgent 对象
异常
初次创建时 JRTCClient、JRTCMediaDevice、JRTCAgentCallback 任意一个参数传空就会创建失败
注解
- JRTCAgent 的所有接口函数,如无特殊说明,都建议再主线程调用
  • 请确保在调用其他 API 前先调用该方法创建并初始化 JRTCClient 对象,JRTCMediaDevice 对象
  • 调用此方法前确保 JRTCClient 已完成初始化,即 state 方法获取的状态值不等于 STATE_NOT_INIT
  • 调用此方法创建 JRTCAgent 对象后,期间没有调用过 destroy 方法销毁对象,然后又重复调用此方法,会直接返回第一次创建的 JRTCAgent 对象

◆ destroy()

static void destroy ( )
static

销毁 JRTCAgent 对象

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

◆ destroyObj()

abstract void destroyObj ( )
abstractprotected

销毁对象

◆ enableLocalRecord()

abstract boolean enableLocalRecord ( boolean  enable,
JRTCRecordLocalParam  recordParam 
)
abstract

开启/关闭本地录制

参数
enable开启或关闭本地录制
  • true: 开启本地录制
  • false: 关闭本地录制
recordParam本地录制参数配置,当 enable == true 时,JRTCRecordLocalParam#filePath 必须设置,其余参数不设置则使用默认配置;当 enable == false 时,recordParam 可传 null
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常
注解
确保调用接口前本地录制文件所在目录已经存在,否则会录制失败

◆ enableMicAgc()

abstract boolean enableMicAgc ( boolean  enable)
abstract

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

参数
enable回调对象
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常
注解
需要在建立通话后调用

◆ enableRemoteRecord()

abstract boolean enableRemoteRecord ( boolean  enable,
JRTCRecordRemoteParam  recordParam 
)
abstract

开启/关闭远程录制

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

参数
enable开启或关闭远程录制
  • true: 开启视频录制
  • false: 关闭视频录制
recordParam录制参数,当 enable == false 时,可传 null;当 enable == true 且按照默认配置进行录制可传 null
返回
接口调用结果

◆ enableScreenShare()

abstract boolean enableScreenShare ( boolean  enable)
abstract

开启/关闭屏幕共享

参数
enable开启或关闭屏幕共享
  • true: 开启屏幕共享
  • false: 关闭屏幕共享
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常
注解
如果 setUseExternalScreenCaptureControl 为 true, 则该接口只负责信令通知,请确保开启屏幕共享前,已经开启了屏幕采集,否则远端用户收到屏幕共享画面为黑屏

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

◆ enableUploadAudioStream()

abstract boolean enableUploadAudioStream ( boolean  enable)
abstract

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

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

参数
enable开启/关闭发送本地音频流
  • true: 开启,即发送本地音频流
  • false: 关闭,即不发送本地音频流
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ enableUploadVideoStream()

abstract boolean enableUploadVideoStream ( boolean  enable)
abstract

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

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

参数
enable开启/关闭发送本地视频流
  • true: 开启,即发送本地视频流
  • false: 关闭,即不发送本地视频流
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ getCallId()

abstract String getCallId ( )
abstract

获取通话唯一标识

返回
通话唯一标识

◆ getCallState()

abstract int getCallState ( )
abstract

获取当前通话状态

返回
当前通话状态

◆ getCallType()

abstract int getCallType ( )
abstract

获取当前通话类型

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

返回
当前通话类型

◆ getGuestParticipants()

abstract List< JRTCRoomParticipant > getGuestParticipants ( )
abstract

获取访客成员列表

返回
- 只有在通话中且通话中才能获得含有访客成员对象的数组,否则为空数组
  • 当通话中不存在第三方访客时,获得一个仅含有主访客成员对象的数组
  • 当通话中存在第三方访客时,获得一个含有主访客和第三方访客成员对象的数组

◆ getHoldState()

abstract boolean getHoldState ( )
abstract

获取当前通话保持状态

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

返回
当前通话是否保持
  • true:当前通话状态为保持
  • false:当前通话状态为正常

◆ getJsonStats()

abstract String getJsonStats ( )
abstract

获取实时统计信息

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

{
* "localActor": "[username:2333@100645.cloud.justalk.com]", // actorID
* "sendBWE": "1440",      // 发送带宽估计
* "recvBWE": "929",       // 接收带宽估计
* "sendBr": "16",         // 发送码率
* "recvBr": "772",        // 接收码率
* "sendJitter": "1",      // 发送jitter
* "recvJitter": "0",      // 接收jitter
* "sendLossRate": "0",    // 发送丢包率
* "recvLossRate": "0",    // 接收丢包率
* "encodeTime": "0",      // 编码时长
* "rtt":"5",              // 往返延时
* "audioSendBr": "19",    // 音频发送码率
* "videoSendBr": "0",     // 视频发送码率
* "audioLevel": "58",     // 音量
* "event":""
* }
* 

◆ getMainGuestParticipant()

abstract JRTCRoomParticipant getMainGuestParticipant ( )
abstract

获取主访客成员

返回
- 通话中返回访客成员对象
  • 不在通话中返回 null

◆ getOperatorState()

abstract int getOperatorState ( )
abstract

获取座席签入状态

返回
座席签入状态

◆ getParticipants()

abstract List< JRTCRoomParticipant > getParticipants ( )
abstract

获取所有成员 (包含自己、访客和其他座席)

返回
所有成员对象

◆ getRemoteRecordState()

abstract int getRemoteRecordState ( )
abstract

获取远程视频录制状态

返回
远程视频录制状态,详见 JRTCEnum.RemoteRecordState
  • RECORD_STATE_NONE : 无法进行视频录制。用户不在频道中或者加入频道时没有设置视频录制参数
  • RECORD_STATE_READY : 可以开启视频录制。用户在加入频道时设置了录制参数,并且没有在录制视频
  • RECORD_STATE_RUNNING : 视频录制中。用户在加入频道时设置了录制参数,并且正在视频录制中

◆ getRequestSize()

abstract JRTCVideoSize getRequestSize ( )
abstract

获取视频请求尺寸

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

返回
视频请求尺寸

◆ getSelfParticipant()

abstract JRTCRoomParticipant getSelfParticipant ( )
abstract

获取自己对象

返回
自己对象

◆ getSerialNumber()

abstract String getSerialNumber ( )
abstract

获取业务唯一标识

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

返回
业务唯一标识

◆ getShareStreamId()

abstract String getShareStreamId ( )
abstract

获取屏幕共享的视频流ID

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

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

◆ getShareUserId()

abstract String getShareUserId ( )
abstract

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

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

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

◆ getStatistics()

abstract String getStatistics ( )
abstract

获取统计信息

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

{
* "Config":                                        // 音视频设置信息
* {
* "Audio Config:                          // 音频设置
* {
* "SRTP": off,                        // 是否对音频RTP数据加密,以及加密会显示使用的加密协议,加密协议两端一致才会音频互通正常
* "Codec": opus,                      // 本端设置的音频编码
* "Payload": 116,                     // 音频payload的大小
* "Bitrate": 16000,                   // 音频码率
* "Pkt Len": 60,                      // 音频包长
* "Nack": off,                        // 丢包是否允许数据包重传
* "RTX": off,                         // 是否允许RTX技术
* "FEC/RED": off,                     // 是否开启FEC
* "AEC": on,                          // 是否开启回声消除
* "Mode": OS,                         // AEC模式
* "HowlSupp": Auto,                   // AEC HowlSupp模式
* "Sts": Auto,                        // AEC Sts模式
* "AGC": on,                          // 是否开启发送端自动增益
* "Mode": Fixed,                      // 发送端AGC Mode
* "Target": 3,                        // 发送端AGC Target
* "Gain": 9,                          // 接收端AGC Gain
* "Rx AGC": off,                      // 是否开启接收端自动增益
* "Mode": Fixed,                      // 接收端AGC Mode
* "Target": 3,                        // 接收端AGC Target
* "Gain": 9,                          // 接收端AGC Gain
* "VAD": off,                         // 是否开启VAD
* "Mode": Mid,                        // VAD Mode
* "ANR": off,                         // 是否开启发送端噪音抑制
* "Mode": High,                       // ANR mode
* "Noise": N/A,                       // 噪音音量
* "SNR": N/A,                         // 信噪比
* "Rx ANR": off,                      // 是否开启接收端噪音抑制
* "Mode": Low,                        // 接收端ANR mode
* "ARS": off,                         // 是否开启音频码率控制
* "BR Min": N/A,                      // ARS码率最小值
* "BR Max": N/A                       // ARS码率最大值
* },
* "Video Config":                         // 视频设置
* {
* "SRTP": off,                        // 是否对音频RTP数据加密,以及加密会显示使用的加密协议,加密协议两端一致才会音频互通正常
* "Codec": H264-SVC,                  // 双方通话采用的编解码类型
* "Payload": 125,                     // 视频Payload的大小
* "Bitrate": 2250,                    // 视频码率,单位kbps
* "Framerate": 24,                    // 视频帧率,单位fps
* "Resolution": 1280x720,             // 视频分辨率
* "FEC": on|124|123,                  // FEC是否打开和payload的类型号
* "FIR": off,                         // 是否允许重发关键帧
* "Key Interval": 0,                  // 允许的最小关键帧间隔
* "Repeat": 0,                        // 关键帧丢失是否允许重发
* "NACK": off,                        // 丢包是否允许数据包重传
* "RTX": off,                         // 是否允许RTX技术,RTX的payload类型
* "TMMBR": off,                       // 是否允许带宽估计
* "RPSI": off,                        // 是否允许RPSI技术
* "Small NALU": on,                   // 是否允许NALU技术
* "ARS": off,                         // 是否开启ARS自动码率检测
* "BR Min": 10,                       // ARS发送码率下限
* "BR Max": 2000,                     // ARS发送码率上限
* "FR Min": 1,                        // ARS发送帧速率下限
* "FR Max": 30,                       // ARS发送帧速率上限
* "Res. Ctrl": off,                   // 是否允许分辨率控制
* "Res. Mode": 0,                     // 分辨率Mode
* "Fr Ctrl": on,                      // 是否允许帧速率控制
* "CPU Load Ctrl": off,               // 是否允许CPU控制
* "Target": 80,                       // CPU控制的最大使用率
* "Bw Efficient": off,                // 是否采用节省带宽模式
* "Error Conceal": off,               // 是否允许错误隐藏技术,在解码出错的时候采用
* "Enhance color": off,               // 是否采用颜色增强技术
* "Boost bright": off,                // 是否采用亮度增强技术
* "Boost contrast": off,              // 是否采用对比度增强技术
* "RTP Ext": CVO,                     // 使用的RTP扩展的类型
* "Render Name": N/A,                 // 渲染图像的名字
* "SVC": "320 180 250 640 360 600 1280 720 1400",     // 会议SVC配置
* "TemporalLayers": 4,                // 取值1、2、3、4,会议时间层设置
* "PreferMode":Clear                  // 偏好设置
* }
* },
* "Network":                                  // 网络统计信息
* {
* "Send Statistic:                        // 数据发送统计信息
* {
* "Packets": 181|1305|0|0,            // 发送的数据包的个数。正常包个数 | 探测包个数 | RED包个数 | NACK包个数
* "RTT": 4,                           // 网络双向延时的时间,单位为毫秒
* "Jitter": 2,                        // 网络的扰动,表征数据包抖动的时间,单位毫秒
* "Lost": 2,                          // 丢失的数据包的个数
* "LostRate": 0,                      // 当前的丢包率,单位百分比
* "RelayLost": 0,                     // 服务器转发丢包率
* "RelayRtt": 0,                      // 服务器转发往返时延,单位为毫秒
* "BitRate/BWE": 16/1345,             // BitRate表示当前发送的数据包的码率,单位kbps;BWE表示当前发送带宽的估计值
* "AudioSend": 0|0,                   // 实际发送音频包次数|估计发送音频包次数
* "VideoSend": 0|0,                   // 实际发送视频包次数|估计发送视频包次数
* "ScreenSend": 0|0,                  // 实际发送屏幕共享包次数|估计发送屏幕共享包次数
* "MaxPredKbps": 100,                 // 发送最大需求码率
* "Server(102679111220103708)": [2211(1): BWE(1345|697) LOSS(0|0) OUT(A:37) IN(A:0;)] // 选用的第一个服务器
* },
* "Recv Statistic":                       // 数据接收统计信息
* {
* "Packets": 1423|675|0|0,            // 收到的数据包的个数。正常包个数 | 探测包个数 | RED包个数 | NACK包个数
* "Jitter": 1,                        // 网络的扰动,表征数据包乱序的时间,单位毫秒
* "Lost": 0,                          // 丢失的数据包的个数
* "Lost Ratio": 0,                    // 当前的丢包率,单位百分比
* "BitRate/BWE":178/2291,             // BitRate表示当前接收的数据包的码率,单位kbps;BWE表示当前接收带宽的估计值
* "Server(102679111220103708)": [2211(3): BWE(1979|2150) LOSS(0|0) OUT(A:37;FPS:24,FEC:10,SUB:00f0=3456) IN(A:17;V:2273=2211[00f0]2273)] // 选用的第一个服务器
* },
* }
* "Transport":                                // 运输通道
* {
* "Local": 2.1923737535:32414,            // 本地地址
* "Remote": 2:11023,                      // 远端地址
* "LastPaths": 2,2,                       // 最后使用通道
* "Path": 2 [udp],                        // 通道名
* "Step1": Delay/Loss(S/R): 4/0/0,        // 通道质量
* "Cost": 7*(best: -1)                    // 通道分数
* },
* "Participants":
* {
* "2333":                                      // 成员为自己
* {
* "Audio Sending Stats":              // 音频发送数据统计
* {
* "Packets": 143,                 // 发送的数据包的个数
* "BitRate": 18.5,                // 发送的数据包的码率,单位kbps
* "FecPrecent": 0                 // 音频Fec保护百分比,N/A表示未开启FEC保护
* },
* "Video Sending Stats":              // 视频发送数据统计
* {
* "Packets": 19502,               // 发送的数据包的个数
* "Capture Res": 640x360,         // 视频采集分辨率
* "Capture Fr": 30,               // 视频采集帧率
* "FPS/IDR": [0|0|24|0]/3,        // 当前视频发送帧速/已发送的视频关键帧数
* "Resolution": 1280x720[0|0|0],  // 当前发送图像最大尺寸。[]中为每种尺寸的帧率,取值范围为0到f(十六进制),0表示该层视频未被发送, 值越大表示该层视频帧率越高;
* "Bitrate/Setrate": 0/2250,      // Bitrate表示当前发送的数据包的码率,单位kbps; Setrate表示视频编码的目标码率,单位kbps。
* "QP": 20,                       // 发送当前图像的量化步长(0-51),越小图像画质越好。
* "EncodeTime": 10,               // 当前编码时间,可以体现终端编码时占用的CPU性能,越大表示CPU占有越高,单位毫秒
* "Codec": H264-SVC,              // 采用的编解码类型
* "FecPrecent": 20                // 视频Fec保护百分比,N/A表示未开启FEC保护
* },
* "Be Subscribed Stats":              // 被订阅统计信息
* {
* "Audio": true,                  // 音频是否被订阅
* "Video": [0|0|F|0]              // [S0|S1|S2|S3]表示4个空间层被订阅
* },
* "Publish Stats":                    // 当前音视频发布状态
* {
* "Audio": true,                  // 当前音频发布状态
* "Video": true                   // 当前视频发布状态
* }
* },
* "6666":                                 // 成员不是自己
* {
* "Audio Receiving Stats":            // 音频接收统计信息
* {
* "Packets": 40243,               // 接收的数据包的个数
* "BitRate": 18.5,                // 当前接收的数据包的码率,单位kbps。
* "EpdRate/lr/dc": 0/0/0,         // expand rate/loss rate/discard rate。neteq buffer中的扩展比例/丢包比例/丢弃比例
* },
* "Video Receiving Stats":            // 视频接收统计信息
* {
* "Packets": 19502,               // 接收的数据包的个数
* "BitRate": 161,                 // 当前发送的数据包的码率,单位kbps
* "FPS/FIR": 24/0,                // 当前视频接收帧率/视频关键帧请求个数
* "Resolution": 1280x720,         // 当前接收分辨率
* "Render FR": 24,                // 当前渲染帧速率
* "Codec": H264-SVC,              // 采用的编解码类型
* "PvMos": 4.9,                   // 表示过去5s平均流畅度MOS分,每5s更新一次。体现视频画面的流畅程度。1到5分,1分最差,5分最好
* "SMOS": 5,                      // 表示当前清晰度MOS分。体现视频画面的清晰程度。1到5分,1分最差,5分最好。前5s是0,是正常现象,因为PvMos还没有值
* },
* "Subscribed Stats":                 // 订阅统计信息
* {
* "Channel Audio": true,          // 当前是否发布音频
* "Audio": true,                  // 当前音频订阅状态
* "Video": [0|0|F|0]              // [S0|S1|S2|S3]表示4个空间层被订阅
* }
* }
* }
* }
* 

◆ getSupportVideoSizes()

abstract List< JRTCVideoSize > getSupportVideoSizes ( )
abstract

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

返回
通话视频分辨率列表

◆ getTermState()

abstract int getTermState ( )
abstract

获取结束通话后的示闲/示忙状态,默认为示闲状态

返回
通话结束后状态

◆ inviteThirdAgent()

abstract boolean inviteThirdAgent ( String  userId)
abstract

邀请第三方座席加入

被邀请的第三方座席会收到 onCallStateChanged 来电邀请回调
第三方座席接听通话后,已在通话中的成员会收到 onMemberJoinonMemberJoin 成员加入回调

参数
userId要邀请的座席用户ID
返回
接口调用结果

◆ inviteThirdGuest() [1/2]

abstract boolean inviteThirdGuest ( String  userId,
String  extraInfo 
)
abstract

邀请第三方访客加入

被邀请的第三方座席会收到 onCallStateChanged 来电邀请回调
第三方访客接听通话后,已在通话中的成员会收到 onMemberJoinonMemberJoin 成员加入回调

参数
userId要邀请的第三方访客用户ID
extraInfo邀请携带的随路信息
返回
接口调用结果

◆ inviteThirdGuest() [2/2]

abstract boolean inviteThirdGuest ( String  userId,
String  extraInfo,
JRTCCallCenterInviteParam  inviteParam 
)
abstract

邀请第三方访客加入

被邀请的第三方座席会收到 onCallStateChanged 来电邀请回调
第三方访客接听通话后,已在通话中的成员会收到 onMemberJoinonMemberJoin 成员加入回调

参数
userId要邀请的第三方访客用户ID
extraInfo邀请携带的额外信息
inviteParam邀请的其他参数
返回
接口调用结果

◆ isAutoRecord()

abstract boolean isAutoRecord ( )
abstract

是否由服务器自动开启录制

由访客 autoRecord 属性决定,在通话状态为 CALL_STATE_TALKING 时可以获取
如果当前为自动录制模式,即 isAutoRecord == true,则座席的 controlRecord 远程录制接口不生效

◆ isLocalRecording()

abstract boolean isLocalRecording ( )
abstract

是否正在本地录制

返回
是否正在本地录制
  • true: 正在本地录制中
  • false: 未进行本地录制

◆ isMainAgent()

abstract boolean isMainAgent ( )
abstract

是否主座席

返回
- true 主座席
  • false 其他三方座席

◆ isOnewayVideo()

abstract boolean isOnewayVideo ( )
abstract

获取单向视频状态

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

返回
单向视频状态
  • true: 处于单向视频
  • false: 不处于单向视频

◆ isPause()

abstract boolean isPause ( )
abstract

获取示忙/示闲状态

调用 checkIn(int)checkIn(String, int) 接口签入,状态为示闲
调用 checkIn(String, int, boolean) 接口签入,状态与 busy 参数一致
调用 applyStatePause 接口主动发起示忙示闲,状态与 pause 参数一致

返回
示忙/示闲状态
  • true: 示忙状态
  • false: 示闲状态

◆ isSubScreenShare()

abstract boolean isSubScreenShare ( )
abstract

获取是否订阅屏幕共享

返回
返回屏幕共享是否订阅

◆ isSuspendScreenShare()

abstract boolean isSuspendScreenShare ( )
abstract

是否屏幕共享暂停

返回
- true: 暂停屏幕共享
  • false: 未暂停屏幕共享

◆ joinCall()

abstract boolean joinCall ( String  serialNumber,
@PartRole int  partRole 
)
abstract

加入通话

参数
serialNumber业务唯一标识
partRole加入通话成员角色
返回
接口调用结果
  • true: 接口调用成功,通话状态会通过 onCallStateChanged 回调上报
  • false: 接口调用异常
注解
需要先签入并且示闲,目前只支持以观察者座席和次座席角色加入
参见
#PART_ROLE_AGENT 次座席
#PART_ROLE_VIEWER_AGENT 观察者(次座席),无感入会

◆ kickParticipant()

abstract int kickParticipant ( String  userId)
abstract

踢出通话成员

注解
只有主座席角色可以使用该功能
参数
userId成员用户ID
返回
接口调用结果

◆ queryAllGroups()

abstract boolean queryAllGroups ( )
abstract

获取业务号列表

返回
接口调用结果
  • true: 接口调用成功,返回结果通过 onGetAllGroups 回调上报
  • false: 接口调用异常

◆ queryAvailableAgentList()

abstract int queryAvailableAgentList ( String  businessNumber)
abstract

查询指定业务号的空闲座席

查询结果通过 onQueryAvailableAgentList 回调上报

参数
businessNumber业务号,例如 10087
返回
操作id,与 onQueryAvailableAgentList 的 operationId 参数对应

◆ recall()

abstract boolean recall ( String  userId,
JRTCCallCenterCallParam  callParam 
)
abstract

座席回呼

  • 注解
    需要先签入并且示闲
    参数
    userId访客用户ID
    callParam呼叫参数设置,此参数可传 null 则使用默认配置,详见 JRTCCallCenterCallParam
    返回
    接口调用结果
  • true: 接口调用成功,通话状态会通过 onCallStateChanged 回调上报
  • false: 接口调用异常

◆ requestOnewayVideo()

abstract void requestOnewayVideo ( boolean  turnOn)
abstract

请求单向视频

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

参数
turnOn打开或关闭单向视频
  • true: 打开单向视频
  • false: 关闭单向录制

◆ requestScreenVideo()

abstract boolean requestScreenVideo ( JRTCVideoSize  videoSize)
abstract

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

参数
videoSize视频请求的尺寸,详见 JRTCVideoSize
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ requestSign()

abstract boolean requestSign ( String  userId,
String  extraInfo 
)
abstract

请求访客签名

请求访客签名流程:

  1. 座席调用此接口向指定访客发送签名请求
  2. 座席调用成功后,访客会收到 JRTCGuestCallback#onSignRequest(String, String) onSignRequest} 回调
  3. 访客进行签名,并将签名图片上传至业务管理平台(需要应用层自行实现)
  4. 访客响应座席签名结果
参数
userId需要请求签名的访客用户ID
extraInfo随路额外消息
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ requestVideo()

abstract boolean requestVideo ( JRTCRoomParticipant  participant,
JRTCVideoSize  videoSize 
)
abstract

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

参数
participant成员对象
videoSize视频请求的尺寸,详见 JRTCVideoSize
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ responseUrgent()

abstract int responseUrgent ( String  serialNumber,
String  callerNumber,
boolean  agree 
)
abstract

处理加急请求

请求加急流程:

  1. 访客在排队过程中调用 requestUrgent 接口发起加急请求
  2. 管理员权限的座席(业务管理平台配置)收到 onUrgentRequest 回调
  3. 座席收到回调后调用此接口对加急请求进行处理
  4. 座席处理后,访客会收到 onUrgentResult 加急请求处理结果回调,如果座席同意加急请求,则将会插队到队列最前
参数
serialNumber业务唯一标识,通过 onUrgentRequest 回调获得
callerNumber发起加急请求的用户ID,通过 onUrgentRequest 回调获得
agree同意或拒绝加急请求
  • true: 同意加急请求
  • false: 拒绝加急请求
返回
操作id,对应 onResponseUrgentResult 回调的 operationId 参数

◆ sendAudioEmptyPack()

abstract boolean sendAudioEmptyPack ( boolean  empty)
abstract

发送音频空包

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

参数
empty音频发送包是否为空包
  • true:发送音频空包
  • false:发送正常音频包
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ sendMessage()

abstract boolean sendMessage ( String  contentType,
String  content,
String  toUserId 
)
abstract

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

指定成员会收到 onMessageReceivedonMessageReceived 回调

参数
contentType消息内容类型
content消息内容
toUserId指定成员的用户ID,传 null 给通话中全部成员发送消息
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ sendNotifyMessage()

abstract boolean sendNotifyMessage ( JRTCNotifyMessage  notifyMessage,
String  toUserId 
)
abstract

发送事件通知消息

通话中的其他成员会收到 onNotifyMessageReceivedonNotifyMessageReceived 回调

参数
notifyMessage事件通知实体对象
toUserId指定成员的用户ID,传 null 即给通话中全部成员发送通知消息
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ sendVideoEmptyPack()

abstract boolean sendVideoEmptyPack ( boolean  empty)
abstract

发送视频空包

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

参数
empty视频发送包是否为空包
  • true:发送视频空包
  • false:发送正常视频包
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ setHoldState()

abstract boolean setHoldState ( boolean  hold)
abstract

保持/取回

可以通过 getHoldState 获取当前通话保持状态
保持通话后双方互相停止音视频流的发送与接收

参数
hold保持或取回
  • true: 设置为保持状态
  • false: 设置为取回状态
返回
接口调用结果

◆ setRatio()

abstract boolean setRatio ( float  ratio)
abstract

设置本端视频宽高比

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

参数
ratio视频宽高比
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ setRequestSize()

abstract void setRequestSize ( JRTCVideoSize  requestSize)
abstract

设置视频请求尺寸

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

参数
requestSize视频尺寸大小

◆ setSubScreenShare()

abstract boolean setSubScreenShare ( boolean  enable)
abstract

设置是否订阅屏幕共享

参数
enable是否订阅屏幕共享
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ setTermState()

abstract void setTermState ( @AgentTermState int  state)
abstract

设置通话结束后示闲/示忙状态,默认为示闲状态

参数
state示闲/示忙状态

◆ setUseExternalScreenCaptureControl()

abstract void setUseExternalScreenCaptureControl ( boolean  useExternalControl)
abstract

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

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

◆ setVideoDot()

abstract boolean setVideoDot ( String  timespan,
String  info 
)
abstract

视频打点

参数
timespan时间戳
info打点信息
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ suspendScreenShare()

abstract boolean suspendScreenShare ( boolean  suspend,
String  tip 
)
abstract

暂停/继续屏幕共享

参数
suspendtrue 暂停屏幕共享, false 继续屏幕共享
tip暂停屏幕共享后提示文字
返回
接口调用结果
注解
只有自己发起的屏幕共享可以使用该接口暂停,多次调用会覆盖

◆ switchPartRole()

abstract int switchPartRole ( @PartRole int  partRole)
abstract

切换自己在通话中角色

注解
需要先进入通话,目前只支持从观察者座席角色切换到主座席角色
参数
partRole通话成员角色,目前只支持
参见
#PART_ROLE_MAIN_AGENT 主座席
#PART_ROLE_AGENT 次座席
返回
接口调用结果

◆ term()

abstract boolean term ( )
abstract

结束通话

来电过程中调用此接口拒绝接听,访客分配到其他座席继续呼叫等待不会挂断。
主座席调用此接口会结束通话,通话中所有成员都会离开,此通通话销毁,所有成员会收到 onCallStateChangedonCallStateChanged 通话结束回调。
第三方座席调用此接口仅自身离开通话,通话中其他成员会收到该成员离开的回调 onMemberLeaveonMemberLeave 回调,通话继续进行。

返回
接口调用结果
  • true: 接口调用成功,会收到 onCallStateChanged 回调
  • false: 接口调用异常

◆ transferCall()

abstract int transferCall ( @TransferType int  type,
String  id 
)
abstract

通话转接

支持转接到具体座席和转接到某个业务组

参数
type转接类型,转接到具体座席或是转接到业务组
id- 当转接类型为 TRANSFER_GROUP 时,id 需传入业务组号
返回
接口调用结果
注解
直呼场景接通后,不支持通话转接 转接结果通过 onTransferCallResult 回调上报
座席调用转接接口成功时,访客会收到 onCallForwarding 回调

◆ turnCallType()

abstract void turnCallType ( @CallType int  callType)
abstract

音视频通话切换

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

参数
callType通话类型
返回
当前通话类型

◆ turnCallTypeForSip()

abstract boolean turnCallTypeForSip ( @CallType int  callType,
String  userId,
String  extraInfo 
)
abstract

请求音视频通话切换

注解
目前仅支持Sip通话情况下,请求Sip成员开启视频
参数
callType通话类型 当前通话类型
userId用户id
extraInfo随路参数
返回
接口调用是否成功

◆ unRequestScreenVideo()

abstract boolean unRequestScreenVideo ( )
abstract

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

返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ unRequestVideo()

abstract boolean unRequestVideo ( JRTCRoomParticipant  participant)
abstract

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

参数
participant成员对象
返回
接口调用结果
  • true: 接口调用成功,会收到 onMemberUpdate 回调,具体可关注 videoSize 属性
  • false: 接口调用异常

◆ updateLocalRecordLayout()

abstract boolean updateLocalRecordLayout ( List< RecordLayout layoutList)
abstract

更新本地录制自定义布局

参数
layoutList需要更新的布局列表
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ updateRemoteRecordLayout()

abstract boolean updateRemoteRecordLayout ( List< JRTCRecordRemoteParam.RecordLayout >  layoutList)
abstract

更新远程录制自定义布局

参数
layoutList需要更新的布局列表
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ updateRemoteRecordWatermark()

abstract boolean updateRemoteRecordWatermark ( Map< String, String >  watermarkTextMap)
abstract

更新远程录制水印信息

参数
watermarkTextMap水印信息
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常