TCCC Agent API
Public Member Functions | List of all members
tccc::ITCCCCallback Class Referenceabstract

Public Member Functions

virtual void onRemoteUserJoin (const char *rtcUserId)
 
virtual void onRemoteUserLeave (const char *rtcUserId, int reason)
 
错误和警告事件
virtual void onError (TCCCError errCode, const char *errMsg, void *extraInfo)=0
 
virtual void onWarning (TCCCCWarning warningCode, const char *warningMsg, void *extraInfo)=0
 

呼叫呼入相关事件回调

enum  EndedReason {
  Error , Timeout , Replaced , LocalBye ,
  RemoteBye , LocalCancel , RemoteCancel , Rejected ,
  Referred
}
 
virtual void onNewSession (TCCCSessionInfo info)=0
 
virtual void onEnded (EndedReason reason, const char *reasonMessage, const char *sessionId)=0
 
virtual void onAccepted (const char *sessionId)=0
 
virtual void onAudioVolume (TCCCVolumeInfo *volumeInfo)
 

网络和技术指标统计回调

enum  TCCCServerType { TCCCServer = 0 , TRTCServer = 1 }
 
virtual void onNetworkQuality (TCCCQualityInfo localQuality, TCCCQualityInfo *remoteQuality, uint32_t remoteQualityCount)
 
virtual void onStatistics (const TCCCStatistics &statistics)
 
virtual void onConnectionLost (TCCCServerType serverType)
 
virtual void onTryToReconnect (TCCCServerType serverType)
 
virtual void onConnectionRecovery (TCCCServerType serverType)
 

Member Enumeration Documentation

◆ EndedReason

结束原因

Enumerator
Error 

系统错误

Timeout 

超时

Replaced 

ended due to being replaced

LocalBye 

主叫挂断

RemoteBye 

对端挂断

LocalCancel 

主叫取消拨打

RemoteCancel 

对端取消拨打

Rejected 

对端拒绝

Referred 

被转接而结束

slg! - This is really Redirected - not sure why it is called Referred. Only gets used when we send a redirect (ie: 302).

◆ TCCCServerType

后台服务类型

Enumerator
TCCCServer 

TCCC的服务

TRTCServer 

实时通话的RTC服务

Member Function Documentation

◆ onAccepted()

virtual void tccc::ITCCCCallback::onAccepted ( const char *  sessionId)
pure virtual

2.3 对方接听事件

Parameters
sessionId会话信息

◆ onAudioVolume()

virtual void tccc::ITCCCCallback::onAudioVolume ( TCCCVolumeInfo volumeInfo)
inlinevirtual

2.4 音量大小的反馈回调

Parameters
volumeInfo为一个数组,对于数组中的每一个元素,当 userId 为空时表示本地麦克风采集的音量大小,当 userId 不为空时代表远端用户的音量大小。

◆ onConnectionLost()

virtual void tccc::ITCCCCallback::onConnectionLost ( TCCCServerType  serverType)
inlinevirtual

5.1 SDK 与云端的连接已经断开

SDK 会在跟云端的连接断开时抛出此事件回调,导致断开的原因大多是网络不可用或者网络切换所致,比如用户在通话中走进电梯时就可能会遇到此事件。 在抛出此事件之后,SDK 会努力跟云端重新建立连接,重连过程中会抛出 onTryToReconnect,连接恢复后会抛出 onConnectionRecovery 。 所以,SDK 会在如下三个连接相关的事件中按如下规律切换:

 [onConnectionLost] =====>
[onTryToReconnect] =====> [onConnectionRecovery]
              /|\                                                     |
               |------------------------------------------------------|
Parameters
serverType0表示为TRTC的,1表示为TCCC server

◆ onConnectionRecovery()

virtual void tccc::ITCCCCallback::onConnectionRecovery ( TCCCServerType  serverType)
inlinevirtual

5.3 SDK 与云端的连接已经恢复

SDK 会在跟云端的连接断开时抛出 onConnectionLost,之后会努力跟云端重新建立连接并抛出onTryToReconnect,连接恢复后会抛出本事件回调。

Parameters
serverType0表示为TRTC的,1表示为TCCC server

◆ onEnded()

virtual void tccc::ITCCCCallback::onEnded ( EndedReason  reason,
const char *  reasonMessage,
const char *  sessionId 
)
pure virtual

2.2 会话结束事件,用户挂断

Parameters
reason会话结束类型
reasonMessage会话结束原因
sessionId会话ID

◆ onError()

virtual void tccc::ITCCCCallback::onError ( TCCCError  errCode,
const char *  errMsg,
void *  extraInfo 
)
pure virtual

1.1 错误事件回调

错误事件,表示 SDK 抛出的不可恢复的错误,比如设备开启失败、网络异常等。

Parameters
errCode错误码
errMsg错误信息
extInfo扩展信息字段,个别错误码可能会带额外的信息帮助定位问题

◆ onNetworkQuality()

virtual void tccc::ITCCCCallback::onNetworkQuality ( TCCCQualityInfo  localQuality,
TCCCQualityInfo remoteQuality,
uint32_t  remoteQualityCount 
)
inlinevirtual

4.1 网络质量的实时统计回调

该统计回调每间隔2秒抛出一次,用于通知 SDK 感知到的当前网络的上行和下行质量。 SDK 会使用一组内嵌的自研算法对当前网络的延迟高低、带宽大小以及稳定情况进行评估,并计算出一个的评估结果: 如果评估结果为 1(Excellent) 代表当前的网络情况非常好,如果评估结果为 6(Down)代表当前网络无法支撑 RTC 的正常通话。

Note
回调参数 localQuality 和 remoteQuality 中的 userId 如果为空置,代表本组数据统计的是自己本地的网络质量,否则是代表远端用户的网络质量。
Parameters
localQuality上行网络质量
remoteQuality下行网络质量

◆ onNewSession()

virtual void tccc::ITCCCCallback::onNewSession ( TCCCSessionInfo  info)
pure virtual

2.1 新会话事件。包括呼入和呼出

Parameters
info会话信息

◆ onRemoteUserJoin()

virtual void tccc::ITCCCCallback::onRemoteUserJoin ( const char *  rtcUserId)
inlinevirtual

仅供企点使用,外部客户请勿使用

◆ onRemoteUserLeave()

virtual void tccc::ITCCCCallback::onRemoteUserLeave ( const char *  rtcUserId,
int  reason 
)
inlinevirtual

仅供企点使用,外部客户请勿使用

◆ onStatistics()

virtual void tccc::ITCCCCallback::onStatistics ( const TCCCStatistics statistics)
inlinevirtual

4.2 音视频技术指标的实时统计回调

该统计回调每间隔2秒抛出一次,用于通知 SDK 内部音频、视频以及网络相关的专业技术指标,这些信息在 TCCCStatistics 均有罗列:

  • 视频统计信息:视频的分辨率(resolution)、帧率(FPS)和比特率(bitrate)等信息。
  • 音频统计信息:音频的采样率(samplerate)、声道(channel)和比特率(bitrate)等信息。
  • 网络统计信息:SDK 和云端一次往返(SDK > Cloud > SDK)的网络耗时(rtt)、丢包率(loss)、上行流量(sentBytes)和下行流量(receivedBytes)等信息。
    Parameters
    statistics统计数据,包括自己本地的统计信息和远端用户的统计信息,详情请参考 TCCCStatistics
    Note
    如果您只需要获知当前网络质量的好坏,并不需要花太多时间研究本统计回调,更推荐您使用 onNetworkQuality 来解决问题。

◆ onTryToReconnect()

virtual void tccc::ITCCCCallback::onTryToReconnect ( TCCCServerType  serverType)
inlinevirtual

5.2 SDK 正在尝试重新连接到云端

SDK 会在跟云端的连接断开时抛出 onConnectionLost,之后会努力跟云端重新建立连接并抛出本事件,连接恢复后会抛出 onConnectionRecovery

Parameters
serverType0表示为TRTC的,1表示为TCCC server

◆ onWarning()

virtual void tccc::ITCCCCallback::onWarning ( TCCCCWarning  warningCode,
const char *  warningMsg,
void *  extraInfo 
)
pure virtual

1.2 警告事件回调

警告事件,表示 SDK 抛出的提示性问题,比如视频出现卡顿或 CPU 使用率太高等。

Parameters
warningCode警告码
warningMsg警告信息
extInfo扩展信息字段,个别警告码可能会带额外的信息帮助定位问题

The documentation for this class was generated from the following file: