AbstractStaticcreate创建JRTCAgent实例
JRTCClient实例,用于管理客户端基础功能
JRTCMediaDevice实例,用于管理音视频设备
回调接口,用于接收座席相关事件通知
返回JRTCAgent实例,如果创建失败则返回undefined
StaticdestroyAbstractis检查当前通话是否为服务器自动录制模式
是否为自动录制模式
Abstractget获取当前通话状态
当前通话状态值
AbstractgetAbstractget获取当前通话保持状态
当前通话是否处于保持状态
Abstractis获取单向视频状态
是否处于单向视频状态
Abstractset设置通话保持/取回状态
是否保持
true: 表示设置为保持状态false: 表示设置为取回状态接口调用结果
true: 接口调用成功false: 接口调用异常AbstractgetAbstractset设置通话结束后的座席状态
要设置的状态(示闲/示忙)
Abstractget获取座席签入状态
当前座席的签入状态
返回值对应 JRTCCallCenterOperatorState 中定义的状态:
Abstractis获取座席示忙/示闲状态
当前是否处于示忙状态
true: 示忙状态,不会收到新的呼叫分配false: 示闲状态,可以正常接收呼叫状态变更场景:
AbstractisAbstractgetAbstractgetAbstractgetAbstractgetAbstractgetAbstractgetAbstractgetAbstractget获取统计信息
以字符串形式返回的统计信息
返回的字符串包含 "Config"、"Network"、"Transport" 和 "Participants" 4个节点, 分别表示音视频设置信息、网络状态信息、传输状态信息和参与者信息。
统计信息包含以下主要部分:
Config - 音视频设置信息
Network - 网络统计信息
Transport - 传输通道信息
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": {
// 远端参与者统计...
}
}
}
此统计信息可用于监控和诊断通话质量问题,评估网络状况,以及优化音视频参数设置。
Abstractget获取实时统计信息
以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":"" // 事件信息
}
AbstractgetAbstractset设置屏幕采集控制模式
是否使用外部控制模式
控制屏幕采集的开启/关闭逻辑:
SDK自动控制模式下的行为:
Abstractquery查询所有业务号列表
接口调用结果
true: 接口调用成功false: 接口调用异常Abstractquery查询指定业务号的空闲座席列表
业务号,例如"10087"
操作ID,用于匹配回调结果
Abstractcheckin座席签入
座席用户ID,需与业务管理平台配置的staffId对应
签入后的示忙/示闲状态
签入的其他参数
接口调用结果
true: 接口调用成功false: 接口调用异常Abstractcheckout座席签出
接口调用结果
true: 接口调用成功false: 接口调用异常Abstractjoin加入通话
业务唯一标识
加入通话的成员角色
接口调用结果
true: 接口调用成功false: 接口调用异常Abstractrecall座席回呼
访客用户ID
呼叫参数设置
接口调用结果
true: 接口调用成功false: 接口调用异常Abstractanswer接听来电
接口调用结果
true: 接口调用成功false: 接口调用异常Abstractterm结束通话
接口调用结果
true: 接口调用成功false: 接口调用异常不同场景下的行为:
Abstractapply设置示忙/示闲状态(带子状态)
true表示示忙,false表示示闲
OptionalsubState: number子状态,用于报表数据统计,取值[0-9]
操作ID,用于匹配回调结果
Abstracttransfer通话转接
转接类型
转接目标ID
操作ID,用于匹配回调结果
支持两种转接类型:
Abstractturn音视频通话类型切换
目标通话类型
支持的通话类型:
AUDIO: 语音通话
VIDEO: 视频通话
可通过 getCallType 获取当前通话类型
切换成功后,通话中所有成员会收到 JRTCGuestCallback.onCallTypeChanged onCallTypeChanged 或 onCallTypeChanged 回调
Abstractturn请求SIP成员切换音视频通话类型
目标通话类型
SIP用户ID
额外参数信息
接口调用是否成功
Abstractinvite邀请第三方访客加入通话
要邀请的访客用户ID
邀请携带的额外信息
OptionalinviteParam: JRTCCallCenterInviteParam邀请的其他参数
接口调用是否成功
Abstractinvite邀请第三方座席加入通话
要邀请的座席用户ID
接口调用是否成功
Abstractswitch切换自己在通话中角色
目标角色
操作ID,用于匹配回调结果
Abstractkick踢出通话成员
要踢出的成员用户ID
操作ID,用于匹配回调结果
AbstractrequestAbstractrequestAbstractresponse处理访客加急请求
业务唯一标识
发起加急请求的用户ID
是否同意加急请求
操作ID,用于匹配回调结果
加急请求处理流程:
Abstractsend发送消息
消息内容类型
消息内容
接收消息的用户ID,undefined表示发送给所有成员
接口调用是否成功
Abstractsend发送文本消息,消息内容不能大于4K
消息内容
指定成员的用户ID,传 null 给通话中全部成员发送消息
接口调用结果
该接口主要用于兼容老访客版本设计,发送固定类型 Text 的文本消息
指定成员会收到 JRTCGuestCallback.onMessageReceived onMessageReceived 或 onMessageReceived 回调
Abstractsend发送事件通知消息
事件通知实体对象
接收消息的用户ID,undefined表示发送给所有成员
接口调用是否成功
Abstractenable开启/关闭发送本地音频流
开启/关闭发送本地音频流
true: 开启,即发送本地音频流false: 关闭,即不发送本地音频流接口调用结果
true: 接口调用成功false: 接口调用异常Abstractenable开启/关闭发送本地视频流
是否发送本地视频流
true: 开启,即发送本地视频流false: 关闭,即不发送本地视频流接口调用结果
true: 接口调用成功false: 接口调用异常Abstractget获取本地音频数据是否在上传
是否上传音频数据
true: 上传中false: 未上传Abstractget获取本地视频数据是否在上传
是否在上传本地视频数据
true: 上传中false: 未上传Abstractsend发送音频空包
音频发送包是否为空包
true: 发送音频空包false: 发送正常音频包接口调用结果
true: 接口调用成功false: 接口调用异常该接口不会导致成员的 audio 属性变化, 发送音频空包不代表停止发送音频流。可用于临时屏蔽音频内容但保持音频流连接。
Abstractsend发送视频空包
视频发送包是否为空包
true: 发送视频空包false: 发送正常视频包接口调用结果
true: 接口调用成功false: 接口调用异常该接口不会导致成员的 video 属性变化, 发送视频空包不代表停止发送视频流。可用于临时屏蔽视频内容但保持视频流连接。
Abstractenable开启/关闭屏幕共享
开启或关闭屏幕共享
true: 开启屏幕共享false: 关闭屏幕共享OptionalsendScreenParam: JRTCSendScreenParam屏幕共享媒体参数
OptionalenableAudio: boolean是否采集系统音频
true: 采集系统音频false: 不采集系统音频接口调用结果
true: 接口调用成功false: 接口调用异常如果 setUseExternalScreenCaptureControl 设置为 true,
则该接口只负责信令通知,请确保开启屏幕共享前,已经开启了屏幕采集,
否则远端用户收到屏幕共享画面为黑屏。
Abstractsuspend暂停/继续屏幕共享
是否暂停屏幕共享
true: 暂停屏幕共享false: 继续屏幕共享暂停屏幕共享后显示的提示文字
接口调用结果
true: 接口调用成功,可通过 isSuspendScreenShare 判断当前屏幕共享是否暂停false: 接口调用异常Abstractis获取屏幕共享是否处于暂停状态
屏幕共享暂停状态
true: 屏幕共享已暂停false: 屏幕共享未暂停AbstractgetAbstractgetAbstractset设置本端视频宽高比
视频宽高比
接口调用是否成功
AbstractgetAbstractsetAbstractrequest订阅通话中其他成员的视频流
需要订阅视频的成员对象
undefined:表示不订阅任何成员的视频视频请求的尺寸
undefined:使用默认尺寸操作结果
true: 接口调用成功false: 接口调用失败Abstractun取消订阅通话中其他成员的视频流
需要取消订阅视频的成员对象
undefined:表示取消当前所有的视频订阅操作结果
true: 接口调用成功,会收到 onMemberUpdate 回调false: 接口调用失败Abstractrequest订阅通话中屏幕共享的视频流
视频请求的尺寸
undefined:使用默认尺寸操作结果
true: 接口调用成功false: 接口调用失败AbstractunAbstractcontrol开启/关闭远程录制
打开或停止录制
录制参数对象
操作结果
true: 接口调用成功false: 接口调用失败Abstractenable开启/关闭本地录制
是否开启本地录制
true: 开启本地录制功能false: 关闭本地录制功能本地录制参数配置
enable=true):filePath 必须设置,其余参数不设置则使用默认配置enable=false):可传入 undefined操作结果
true: 接口调用成功false: 接口调用失败Abstractupdate更新本地录制自定义布局
需要更新的布局列表
undefined:使用默认布局操作结果
true: 接口调用成功false: 接口调用失败AbstractisAbstractenable开启/关闭远程视频录制
是否开启远程视频录制
true: 开启远程视频录制false: 关闭远程视频录制远程录制参数配置
enable=true):可传入特定参数或 undefined 使用默认配置enable=false):可传入 undefined操作结果
true: 接口调用成功false: 接口调用失败此方法用于控制远程服务器的视频录制功能。开启后,服务器将录制通话内容。
录制状态变化会通过 onCallPropertyChanged 回调通知, 可关注 remoteRecordState 属性。
可以通过 getRemoteRecordState 接口获取当前服务器录制状态。
Abstractupdate更新远程录制自定义布局
需要更新的布局列表
undefined:使用默认布局操作结果
true: 接口调用成功false: 接口调用失败AbstractupdateAbstractget获取远程视频录制状态
当前远程录制状态
AbstractsetAbstractenableAbstractsetAbstractsetAbstractis获取是否订阅屏幕共享
屏幕共享订阅状态
true: 当前设置为自动订阅屏幕共享false: 当前设置为不自动订阅屏幕共享此方法用于查询当前是否设置了自动订阅屏幕共享。可以根据此状态 决定是否需要调用 setSubScreenShare 方法改变设置。
发起业务
业务成功开始
事件码
业务结束
事件码
座席管理类,提供座席相关的所有功能操作 JRTCAgent
Remarks
JRTCAgent类是座席管理的核心类,提供了座席签入/签出、通话控制、音视频控制等完整功能。 该类采用单例模式设计,通过静态create方法创建实例。