创建实例和事件回调
API | 描述 |
创建 TCCCWorkstation 实例(单例模式) | |
销毁 TCCCWorkstation 实例(单例模式) | |
设置 TCCCWorkstation 事件回调 |
创建实例和设置事件回调示例代码
// 创建实例和设置事件回调TCCCWorkstation tcccSDK = TCCCWorkstation.sharedInstance(getApplicationContext());tcccSDK.setListener(new TCCCListener() {});
登录相关接口函数
API | 描述 |
SDK 登录 | |
检查 SDK 是否已登录 | |
SDK 退出登录 |
登录示例代码
TCCCTypeDef.TCCCLoginParams loginParams = new TCCCTypeDef.TCCCLoginParams();/// 登录的坐席ID,通常为邮箱地址loginParams.userId = "";/// 登录票据,在登录模式为Agent必填。更多详情请参见[创建 SDK 登录/// Token](https://cloud.tencent.com/document/product/679/49227)loginParams.token = "";/// 腾讯云联络中心应用ID,通常为1400开头loginParams.sdkAppId = 0;// 必须知道为坐席模式loginParams.type = TCCCTypeDef.TCCCLoginType.Agent;tcccSDK.login(loginParams, new TXCallback() {@Overridepublic void onSuccess() {// login success}@Overridepublic void onError(int code, String desc) {// login error}});
呼叫相关接口函数
发起呼叫和结束呼叫示例代码
TCCCTypeDef.TCCCStartCallParams callParams =new TCCCTypeDef.TCCCStartCallParams();//格式 <scheme> : <user> @<host>,如 sip:1343xxxx@1400xxxx.tccc.qcloud.com,其中1343xxxx为手机号,1400xxxx为您的tccc应用IDcallParams.to = "sip:1343xxxx@1400xxxx.tccc.qcloud.com";// 发起通话tcccSDK.call(callParams, new TXCallback() {@Overridepublic void onSuccess() {// call success}@Overridepublic void onError(int code, String desc) {// call error}});// 结束通话tcccSDK.terminate();
音频设备接口函数
API | 描述 |
设定本地音频的采集音量 | |
获取本地音频的采集音量 | |
设定远端音频的播放音量 | |
获取远端音频的播放音量 | |
设置音频路由 |
调试相关接口
API | 描述 |
获取 SDK 版本信息 | |
设置 Log 输出级别 | |
启用/禁用控制台日志打印 | |
调用实验性接口 |
获取SDK版本示例代码
// 获取SDK 版本号TCCCWorkstation.getSDKVersion();
错误和警告事件
处理错误回调事件回调示例代码
tcccSDK.setListener(new TCCCListener() {/*** 错误事件回调* 错误事件,表示 SDK 抛出的不可恢复的错误,比如进入房间失败或设备开启失败等。* @param errCode 错误码* @param errMsg 错误信息* @param extraInfo 扩展信息字段,个别错误码可能会带额外的信息帮助定位问题*/@Overridepublic void onError(int errCode, String errMsg, Bundle extraInfo) {super.onError(errCode, errMsg, extraInfo);}/*** 警告事件回调* 警告事件,表示 SDK 抛出的提示性问题,比如音频出现卡顿或 CPU 使用率太高等。* @param warningCode 警告码* @param warningMsg 警告信息* @param extraInfo 扩展信息字段,个别警告码可能会带额外的信息帮助定位问题*/@Overridepublic void onWarning(int warningCode, String warningMsg, Bundle extraInfo) {super.onWarning(warningCode, warningMsg, extraInfo);}});
呼叫相关事件回调
API | 描述 |
新会话事件。包括呼入和呼出 | |
会话结束事件 | |
音量大小的反馈回调 | |
网络质量的实时统计回调 |
处理接听和坐席挂断事件回调示例代码
tcccSDK.setListener(new TCCCListener() {@Overridepublic void onNewSession(TCCCTypeDef.ITCCCSessionInfo info) {super.onNewSession(info);// 新会话事件。包括呼入和呼出,可通过 info.sessionDirection 判断是呼入还是呼出}@Overridepublic void onEnded(int reason, String reasonMessage, String sessionId) {super.onEnded(reason, reasonMessage, sessionId);// 会话结束}@Overridepublic void onAccepted(String sessionId) {super.onAccepted(sessionId);// 对端接听}});
与云端连接情况的事件回调
API | 描述 |
SDK 与云端的连接已经断开 | |
SDK 正在尝试重新连接到云端 | |
SDK 与云端的连接已经恢复 |
与云端连接情况的事件回调示例代码
tcccSDK.setListener(new TCCCListener() {/*** SDK 与云端的连接已经断开* SDK 会在跟云端的连接断开时抛出此事件回调,导致断开的原因大多是网络不可用或者网络切换所致,* 比如用户在通话中走进电梯时就可能会遇到此事件。 在抛出此事件之后,SDK 会努力跟云端重新建立连接,* 重连过程中会抛出 onTryToReconnect,连接恢复后会抛出 onConnectionRecovery 。* 所以,SDK 会在如下三个连接相关的事件中按如下规律切换:*/@Overridepublic void onConnectionLost(TCCCServerType serverType) {super.onConnectionLost(serverType);}/*** SDK 正在尝试重新连接到云端* SDK 会在跟云端的连接断开时抛出 onConnectionLost,之后会努力跟云端重新建立连接并抛出本事件,* 连接恢复后会抛出 onConnectionRecovery。*/@Overridepublic void onTryToReconnect(TCCCServerType serverType) {super.onTryToReconnect(serverType);}/*** SDK 与云端的连接已经恢复* SDK 会在跟云端的连接断开时抛出 onConnectionLost,之后会努力跟云端重新建立连接并抛出onTryToReconnect,* 连接恢复后会抛出本事件回调。*/@Overridepublic void onConnectionRecovery(TCCCServerType serverType) {super.onConnectionRecovery(serverType);}});
API 错误码
基础错误码
符号 | 值 | 含义 |
ERR_SIP_SUCCESS | 200 | 成功 |
ERR_UNRIGIST_FAILURE | 20001 | 登录失败 |
ERR_ANSWER_FAILURE | 20002 | 接听失败,通常是trtc进房失败 |
ERR_SIPURI_WRONGFORMAT | 20003 | URI 格式错误。 |
SIP相关错误码
符号 | 值 | 含义 |
ERR_SIP_BAD_REQUEST | 400 | 错误请求 |
ERR_SIP_UNAUTHORIZED | 401 | 未授权(用户名密码不对情况) |
ERR_SIP_AUTHENTICATION_REQUIRED | 407 | 代理需要认证,请检查是否已经调用登录接口 |
ERR_SIP_REQUESTTIMEOUT | 408 | 请求超时(网络超时) |
ERR_SIP_REQUEST_TERMINATED | 487 | 请求终止(网络异常,网络中断场景下) |
ERR_SIP_SERVICE_UNAVAILABLE | 503 | 服务不可用 |
ERR_SIP_SERVER_TIMEOUT | 504 | 服务超时 |
音频设备相关错误码
符号 | 值 | 含义 |
ERR_MIC_START_FAIL | -1302 | 打开麦克风失败。设备,麦克风的配置程序(驱动程序)异常,禁用后重新启用设备,或者重启机器,或者更新配置程序 |
ERR_MIC_NOT_AUTHORIZED | -1317 | 麦克风设备未授权,通常在移动设备出现,可能是权限被用户拒绝了 |
ERR_MIC_SET_PARAM_FAIL | -1318 | 麦克风设置参数失败 |
ERR_MIC_OCCUPY | -1319 | 麦克风正在被占用中,例如移动设备正在通话时,打开麦克风会失败 |
ERR_MIC_STOP_FAIL | -1320 | 停止麦克风失败 |
ERR_SPEAKER_START_FAIL | -1321 | 打开扬声器失败,例如在 Windows 或 Mac |
ERR_SPEAKER_SET_PARAM_FAIL | -1322 | 扬声器设置参数失败 |
ERR_SPEAKER_STOP_FAIL | -1323 | 停止扬声器失败 |
ERR_UNSUPPORTED_SAMPLERATE | -1306 | 不支持的音频采样率 |
网络相关错误码
符号 | 值 | 含义 |
ERR_RTC_ENTER_ROOM_FAILED | -3301 | 进入房间失败,请查看 onError 中的 -3301 对应的 msg 提示确认失败原因 |
ERR_RTC_REQUEST_IP_TIMEOUT | -3307 | 请求 IP 和 Sig 超时,请检查网络是否正常,或网络防火墙是否放行 UDP |
ERR_RTC_CONNECT_SERVER_TIMEOUT | -3308 | 请求进房超时,请检查是否断网或者是否开启 VPN,您也可以切换 4G 进行测试确认 |
ERR_RTC_ENTER_ROOM_REFUSED | -3340 | 进房请求被拒绝,请检查是否连续调用 enterRoom 进入相同 ID 的房间 |