API Reference for mac - IRTCEngineEventHandler

更新时间: 2023-10-23 16:45:52
rtc::IRTCEngineEventHandler类 参考

Public 成员函数

virtual ~IRTCEngineEventHandler ()
 
virtual void onJoinedRoom (UserId myId, const char *room)
 
virtual void onLeaveRoom ()
 
virtual void onClientRoleChanged (CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole)
 
virtual void onUserJoined (const UserId uid)
 
virtual void onUserOffline (const UserId uid)
 
virtual void onConnectionStateChanged (RTC_CONNECTION_STATE_TYPE state, const char *reason)
 
virtual void onLastMileQuality (NETWORK_QUALITY_TYPE quality)
 
virtual void onAudioDeviceStateChanged (const char *deviceId, RTC_MEDIA_DEVICE_TYPE deviceType, RTC_MEDIA_DEVICE_STATE_TYPE deviceState)
 
virtual void onVideoDeviceStateChanged (const char *deviceId, RTC_MEDIA_DEVICE_TYPE deviceType, RTC_MEDIA_DEVICE_STATE_TYPE deviceState)
 
virtual void onFirstLocalVideoFrame (int width, int height)
 
virtual void onFirstLocalAudioFrame ()
 
virtual void onFirstRemoteVideoFrame (UserId uid, int width, int height)
 
virtual void onFirstRemoteAudioFrame (UserId uid)
 
virtual void onUserMuteVideo (UserId userId, bool isMuting)
 
virtual void onUserMuteAudio (UserId userId, bool isMuting)
 
virtual void onUserEnableVideo (UserId userId, bool enabled)
 
virtual void onActiveSpeaker (UserId uid)
 
virtual void onAudioVolume (UserId uid, unsigned volume)
 
virtual void onError (RTC_RET_CODE code, const char *msg)
 
virtual void onRTCStats (const RTCStats &stats)
 
virtual void onSeiTimestampArrived (UserId uid, uint64_t seiTime)
 
virtual void onRtmpStreamingStateChanged (const char *url, rtc::RTMP_STREAM_PUBLISH_STATE state, rtc::RTMP_STREAM_PUBLISH_ERROR errCode)
 
virtual void onStartCloudRecordStateChanged (const std::string &auth, int recordId, int state, int errorCode, const std::string &sid)
 
virtual void onStopCloudRecordStateChanged (const std::string &auth, int recordId, const std::string &sid, int state, int errorCode)
 
virtual void onHttpMetadataStateStateChanged (const std::string &streamId, int category, int state, int errorCode, const std::string &errMsg)
 
virtual void onRtmpUplinesStateChanged (const char *streamId, int state, int errCode, const Stru_RtmpUplinesInfo &info)
 
virtual void onRemoteAudioStateChanged (UserId uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
 
virtual void onRemoteVideoStateChanged (UserId uid, rtc::RTC_REMOTE_VIDEO_STATE state, rtc::RTC_REMOTE_VIDEO_STATE_REASON reason, int elapsed)
 
virtual void onLocalVideoStateChanged (rtc::RTC_LOCAL_VIDEO_STREAM_STATE localVideoState, rtc::RTC_LOCAL_VIDEO_STREAM_ERROR error)
 
virtual void onEngineChangeNotify ()
 
virtual void onNetworkQuality (UserId uid, int txQuality, int rxQuality)
 
virtual void onVideoBufferingStateChanged (UserId uid, rtc::VIDEO_BUFFERING_STATE state, int64_t timestampInMs)
 
virtual void onLocalVideoStats (const LocalVideoStats stats)
 
virtual void onStreamMessage (UserId uid, const char *data, size_t length)
 
virtual void onChannelMediaRelayStateChanged (CHANNEL_MEDIA_RELAY_STATE state, CHANNEL_MEDIA_RELAY_ERROR code)
 
virtual void onChannelMediaRelayEvent (CHANNEL_MEDIA_RELAY_EVENT code)
 
virtual void onRemoteStreamSubscribeAdvice (UserId uid, rtc::REMOTE_VIDEO_STREAM_TYPE currentStreamType, rtc::REMOTE_VIDEO_STREAM_TYPE suitableStreamType)
 
virtual void onAudioDeviceVolumeChanged (uint8_t deviceType, int volume, bool muted)
 
virtual void onAudioPublishStateChange (const char *channelId, rtc::STREAM_PUBLISH_STATE oldState, rtc::STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
 
virtual void onVideoPublishStateChange (const char *channelId, rtc::STREAM_PUBLISH_STATE oldState, rtc::STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
 
virtual void onAudioSubscribeStateChange (const char *channelId, UserId uid, rtc::STREAM_SUBSCRIBE_STATE oldState, rtc::STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
 
virtual void onVideoSubscribeStateChange (const char *channelId, UserId uid, rtc::STREAM_SUBSCRIBE_STATE oldState, rtc::STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
 
virtual void onLocalAudioStats (const LocalAudioStats stats)
 

详细描述

RTC 内部事件处理接口,外部需要先将事件处理对象注册到引擎中

构造及析构函数说明

◆ ~IRTCEngineEventHandler()

virtual rtc::IRTCEngineEventHandler::~IRTCEngineEventHandler ( )
virtual

成员函数说明

◆ onJoinedRoom()

virtual void rtc::IRTCEngineEventHandler::onJoinedRoom ( UserId  myId,
const char *  room 
)
virtual

加入频道回调。
该回调方法表示该客户端 joinRoom 成功加入了指定的频道。

参数
myId用户id
room房间名

◆ onLeaveRoom()

virtual void rtc::IRTCEngineEventHandler::onLeaveRoom ( )
virtual

退出频道回调。
该回调方法表示该客户端 leaveRoom 成功退出了指定的频道。

◆ onClientRoleChanged()

virtual void rtc::IRTCEngineEventHandler::onClientRoleChanged ( CLIENT_ROLE_TYPE  oldRole,
CLIENT_ROLE_TYPE  newRole 
)
virtual

新增回调,自己在房间的角色发生变化,角色类型:主播和观众;该变化由 setClientRole 接口触发

参数
oldRole原来的角色
newRole新的角色

◆ onUserJoined()

virtual void rtc::IRTCEngineEventHandler::onUserJoined ( const UserId  uid)
virtual

有用户加入房间; 由 joinRoom 接口触发

参数
[in]uid加入房间的用户

◆ onUserOffline()

virtual void rtc::IRTCEngineEventHandler::onUserOffline ( const UserId  uid)
virtual

当有用户退出房间; 由leaveRoom 接口触发

参数
[in]uid退出房间的用户

◆ onConnectionStateChanged()

virtual void rtc::IRTCEngineEventHandler::onConnectionStateChanged ( RTC_CONNECTION_STATE_TYPE  state,
const char *  reason 
)
virtual

网络连接状态已改变回调。 该回调在网络连接状态发生改变的时候触发,并告知用户当前的网络连接状态和引起网络状态改变的原因。

参数
state详见 RTC_CONNECTION_STATE_TYPE
reason

◆ onLastMileQuality()

virtual void rtc::IRTCEngineEventHandler::onLastMileQuality ( NETWORK_QUALITY_TYPE  quality)
virtual

通话前网络上下行 last mile 质量报告回调。 该回调描述本地用户在加入频道前的 last mile 网络探测的结果,其中 last mile 是指设备到 媒体服务器的网络状态。 在调用 enableLastmileTest 之后,该回调函数每 2 秒触发一次。

参数
quality网络上下行 last mile 质量

◆ onAudioDeviceStateChanged()

virtual void rtc::IRTCEngineEventHandler::onAudioDeviceStateChanged ( const char *  deviceId,
RTC_MEDIA_DEVICE_TYPE  deviceType,
RTC_MEDIA_DEVICE_STATE_TYPE  deviceState 
)
virtual

音频设备状态

参数
deviceId设备id
deviceType详见:RTC_MEDIA_DEVICE_TYPE
deviceState详见:RTC_MEDIA_DEVICE_STATE_TYPE

◆ onVideoDeviceStateChanged()

virtual void rtc::IRTCEngineEventHandler::onVideoDeviceStateChanged ( const char *  deviceId,
RTC_MEDIA_DEVICE_TYPE  deviceType,
RTC_MEDIA_DEVICE_STATE_TYPE  deviceState 
)
virtual

视频设备状态

参数
deviceId设备id
deviceType详见:RTC_MEDIA_DEVICE_TYPE
deviceState详见:RTC_MEDIA_DEVICE_STATE_TYPE

◆ onFirstLocalVideoFrame()

virtual void rtc::IRTCEngineEventHandler::onFirstLocalVideoFrame ( int  width,
int  height 
)
virtual

在引擎收到并绘制第一视频帧的时候调用, 只有使用sdk渲染才能收到该回调, 使用自渲染收不到该回调

参数
width第一视频帧的宽度
height第一视频帧的高度

◆ onFirstLocalAudioFrame()

virtual void rtc::IRTCEngineEventHandler::onFirstLocalAudioFrame ( )
virtual

发送第一个本地音频帧时调用

◆ onFirstRemoteVideoFrame()

virtual void rtc::IRTCEngineEventHandler::onFirstRemoteVideoFrame ( UserId  uid,
int  width,
int  height 
)
virtual

收到远程用户共享的第一帧视频, 只有使用sdk渲染才能收到该回调, 使用自渲染收不到该回调

参数
uid用户id
width
height

◆ onFirstRemoteAudioFrame()

virtual void rtc::IRTCEngineEventHandler::onFirstRemoteAudioFrame ( UserId  uid)
virtual

收到远程用户共享的第一帧音频

参数
uid用户id

◆ onUserMuteVideo()

virtual void rtc::IRTCEngineEventHandler::onUserMuteVideo ( UserId  userId,
bool  isMuting 
)
virtual

onUserMuteVideo 回调将被废弃,使用 IRTCEngineEventHandler::onRemoteVideoStateChanged "onRemoteVideoStateChanged"

参数
userId用户id
isMutingtrue:关闭; false:打开

◆ onUserMuteAudio()

virtual void rtc::IRTCEngineEventHandler::onUserMuteAudio ( UserId  userId,
bool  isMuting 
)
virtual

该接口将被弃用,使用IRTCEngineEventHandler::onRemoteAudioStateChanged "onRemoteAudioStateChanged" 接口 远端关闭视频和mute, 都使用onUserEnableVideo回调

参数
userId远程用户ID
isMutingtrue:静音; false:取消静音

◆ onUserEnableVideo()

virtual void rtc::IRTCEngineEventHandler::onUserEnableVideo ( UserId  userId,
bool  enabled 
)
virtual

该接口将被废弃,使用 IRTCEngineEventHandler::onRemoteVideoStateChanged "onRemoteVideoStateChanged" 替换 远程用户是否启用视频服务

参数
userId远程用户ID
enabledtrue:启用;false:关闭

◆ onActiveSpeaker()

virtual void rtc::IRTCEngineEventHandler::onActiveSpeaker ( UserId  uid)
virtual

报告当前说话声音最大的人 检测到的是最近小段时间音量最大的人

参数
uid当前说话声音最大的人. 0表示是自己

◆ onAudioVolume()

virtual void rtc::IRTCEngineEventHandler::onAudioVolume ( UserId  uid,
unsigned  volume 
)
virtual

报告用户的音量 500ms一次

参数
uiduid 说话用户, 0表示是自己
volume音量,范围:[0,255]

◆ onError()

virtual void rtc::IRTCEngineEventHandler::onError ( RTC_RET_CODE  code,
const char *  msg 
)
virtual

LiveRoom 内部一些处理结果通知

参数
code执行结果。详见: RTC_RET_CODE
msg消息

◆ onRTCStats()

virtual void rtc::IRTCEngineEventHandler::onRTCStats ( const RTCStats stats)
virtual

每两秒钟报告一次当前呼叫会话的统计信息

参数
stats详见: RTCStats

◆ onSeiTimestampArrived()

virtual void rtc::IRTCEngineEventHandler::onSeiTimestampArrived ( UserId  uid,
uint64_t  seiTime 
)
virtual

本端收到sei时间戳的回调, 单位ms, 接收频率取决于发送端的发送频率, 业务端还可以使用 getCurSeiTimestamp 获取当前最新时间戳

参数
uid用户id
seiTimeseiTime

◆ onRtmpStreamingStateChanged()

virtual void rtc::IRTCEngineEventHandler::onRtmpStreamingStateChanged ( const char *  url,
rtc::RTMP_STREAM_PUBLISH_STATE  state,
rtc::RTMP_STREAM_PUBLISH_ERROR  errCode 
)
virtual

rtmp 旁路推流状态发生变化及原因

参数
url推流地址
state详见:RTMP_STREAM_PUBLISH_STATE
errCode详见:RTMP_STREAM_PUBLISH_ERROR

◆ onStartCloudRecordStateChanged()

virtual void rtc::IRTCEngineEventHandler::onStartCloudRecordStateChanged ( const std::string &  auth,
int  recordId,
int  state,
int  errorCode,
const std::string &  sid 
)
virtual

云录制状态回调, 目前该接口用不到,无需继承

参数
auth
recordId
state
errorCode
sid

◆ onStopCloudRecordStateChanged()

virtual void rtc::IRTCEngineEventHandler::onStopCloudRecordStateChanged ( const std::string &  auth,
int  recordId,
const std::string &  sid,
int  state,
int  errorCode 
)
virtual

云录制状态回调, 目前该接口用不到,无需继承

参数
auth
recordId
sid
state
errorCode

◆ onHttpMetadataStateStateChanged()

virtual void rtc::IRTCEngineEventHandler::onHttpMetadataStateStateChanged ( const std::string &  streamId,
int  category,
int  state,
int  errorCode,
const std::string &  errMsg 
)
virtual

rtmp旁路转推时 http 打点的状态回调,只有当state = 0 && errorCode =0 时属于正确回调,否则属于异常回调

参数
streamId
category
state
errorCode
errMsg

◆ onRtmpUplinesStateChanged()

virtual void rtc::IRTCEngineEventHandler::onRtmpUplinesStateChanged ( const char *  streamId,
int  state,
int  errCode,
const Stru_RtmpUplinesInfo info 
)
virtual

rtmp 旁路转推时获取调度的回调,只有state 和 errCode都=0时才是正确回调,否则属于异常回调

参数
streamId
state
errCode
info

◆ onRemoteAudioStateChanged()

virtual void rtc::IRTCEngineEventHandler::onRemoteAudioStateChanged ( UserId  uid,
REMOTE_AUDIO_STATE  state,
REMOTE_AUDIO_STATE_REASON  reason,
int  elapsed 
)
virtual

远端音频状态的回调

参数
uid用户id
state详见: REMOTE_AUDIO_STATE
reason详见: REMOTE_AUDIO_STATE_REASON
elapsed从本地用户调用 joinRoom 方法到发生本事件经历的时间,单位为 ms。

◆ onRemoteVideoStateChanged()

virtual void rtc::IRTCEngineEventHandler::onRemoteVideoStateChanged ( UserId  uid,
rtc::RTC_REMOTE_VIDEO_STATE  state,
rtc::RTC_REMOTE_VIDEO_STATE_REASON  reason,
int  elapsed 
)
virtual

远端视频状态回调

参数
uid用户id
state详见: RTC_REMOTE_VIDEO_STATE
reason详见: RTC_REMOTE_VIDEO_STATE_REASON
elapsed详见: 从本地用户调用 joinRoom 方法到发生本事件经历的时间,单位为 ms。

◆ onLocalVideoStateChanged()

virtual void rtc::IRTCEngineEventHandler::onLocalVideoStateChanged ( rtc::RTC_LOCAL_VIDEO_STREAM_STATE  localVideoState,
rtc::RTC_LOCAL_VIDEO_STREAM_ERROR  error 
)
virtual

新增本端视频状态变化

参数
localVideoState详见: RTC_LOCAL_VIDEO_STREAM_STATE
error详见: RTC_LOCAL_VIDEO_STREAM_ERROR

◆ onEngineChangeNotify()

virtual void rtc::IRTCEngineEventHandler::onEngineChangeNotify ( )
virtual

用户被踢通知

◆ onNetworkQuality()

virtual void rtc::IRTCEngineEventHandler::onNetworkQuality ( UserId  uid,
int  txQuality,
int  rxQuality 
)
virtual

网络上下行last mile 质量报告回调

参数
uid
txQuality该用户的上行网络质量,基于发送码率、上行丢包率、平均往返时延和网络抖动计算
rxQuality该用户的下行网络质量,基于下行网络的丢包率、平均往返延时和网络抖动计算

◆ onVideoBufferingStateChanged()

virtual void rtc::IRTCEngineEventHandler::onVideoBufferingStateChanged ( UserId  uid,
rtc::VIDEO_BUFFERING_STATE  state,
int64_t  timestampInMs 
)
virtual

远端卡顿回调

参数
uid远端用户ID,
state详见: VIDEO_BUFFERING_STATE
timestampInMs时间戳

◆ onLocalVideoStats()

virtual void rtc::IRTCEngineEventHandler::onLocalVideoStats ( const LocalVideoStats  stats)
virtual

本地视频流统计信息回调。 该回调描述本地设备发送视频流的统计信息,每 2 秒触发一次。

参数
stats本地视频流统计信息。详见: LocalVideoStats

◆ onStreamMessage()

virtual void rtc::IRTCEngineEventHandler::onStreamMessage ( UserId  uid,
const char *  data,
size_t  length 
)
virtual

irc信息

参数
uid远端用户ID,
datairc数据
lengthdata长度

◆ onChannelMediaRelayStateChanged()

virtual void rtc::IRTCEngineEventHandler::onChannelMediaRelayStateChanged ( CHANNEL_MEDIA_RELAY_STATE  state,
CHANNEL_MEDIA_RELAY_ERROR  code 
)
virtual

跨频道媒体流转发状态发生改变回调。 当跨频道媒体流转发状态发生改变时,SDK 会触发该回调, 并报告当前的转发状态以及相关的错误信息

参数
state跨频道媒体流转发状态 详见: CHANNEL_MEDIA_RELAY_STATE
code跨频道媒体流转发出错的错误码 详见: CHANNEL_MEDIA_RELAY_ERROR

◆ onChannelMediaRelayEvent()

virtual void rtc::IRTCEngineEventHandler::onChannelMediaRelayEvent ( CHANNEL_MEDIA_RELAY_EVENT  code)
virtual

跨频道媒体流转发事件回调。 该回调报告跨频道媒体流转发过程中发生的事件。

参数
code跨频道媒体流转发事件码 详见: CHANNEL_MEDIA_RELAY_EVENT

◆ onRemoteStreamSubscribeAdvice()

virtual void rtc::IRTCEngineEventHandler::onRemoteStreamSubscribeAdvice ( UserId  uid,
rtc::REMOTE_VIDEO_STREAM_TYPE  currentStreamType,
rtc::REMOTE_VIDEO_STREAM_TYPE  suitableStreamType 
)
virtual

建议设置的流类型

参数
uid用户Id
currentStreamType当前流类型 详见:REMOTE_VIDEO_STREAM_TYPE
suitableStreamType建议流类型 详见:REMOTE_VIDEO_STREAM_TYPE

◆ onAudioDeviceVolumeChanged()

virtual void rtc::IRTCEngineEventHandler::onAudioDeviceVolumeChanged ( uint8_t  deviceType,
int  volume,
bool  muted 
)
virtual

本地音频设备音量回调

参数
deviceType0:扬声器; 1:麦克风
volume音量大小,范围: 0-255
muted是否静音

◆ onAudioPublishStateChange()

virtual void rtc::IRTCEngineEventHandler::onAudioPublishStateChange ( const char *  channelId,
rtc::STREAM_PUBLISH_STATE  oldState,
rtc::STREAM_PUBLISH_STATE  newState,
int  elapseSinceLastState 
)
virtual

音频发布状态改变回调。

参数
channel频道名
oldState之前的发布状态 详见: STREAM_PUBLISH_STATE
newState当前的发布状态 详见: STREAM_PUBLISH_STATE
elapseSinceLastState两次状态变化时间间隔(毫秒)

◆ onVideoPublishStateChange()

virtual void rtc::IRTCEngineEventHandler::onVideoPublishStateChange ( const char *  channelId,
rtc::STREAM_PUBLISH_STATE  oldState,
rtc::STREAM_PUBLISH_STATE  newState,
int  elapseSinceLastState 
)
virtual

视频发布状态改变回调。

参数
channel频道名
oldState之前的发布状态 详见: STREAM_PUBLISH_STATE
newState当前的发布状态 详见: STREAM_PUBLISH_STATE
elapseSinceLastState两次状态变化时间间隔(毫秒)

◆ onAudioSubscribeStateChange()

virtual void rtc::IRTCEngineEventHandler::onAudioSubscribeStateChange ( const char *  channelId,
UserId  uid,
rtc::STREAM_SUBSCRIBE_STATE  oldState,
rtc::STREAM_SUBSCRIBE_STATE  newState,
int  elapseSinceLastState 
)
virtual

音频订阅状态发生改变回调。

参数
channel频道名
uid远端用户的 ID。
oldState之前的发布状态 详见: STREAM_SUBSCRIBE_STATE
newState当前的发布状态 详见: STREAM_SUBSCRIBE_STATE
elapseSinceLastState两次状态变化时间间隔(毫秒)

◆ onVideoSubscribeStateChange()

virtual void rtc::IRTCEngineEventHandler::onVideoSubscribeStateChange ( const char *  channelId,
UserId  uid,
rtc::STREAM_SUBSCRIBE_STATE  oldState,
rtc::STREAM_SUBSCRIBE_STATE  newState,
int  elapseSinceLastState 
)
virtual

视频订阅状态发生改变回调。

参数
channel频道名
uid远端用户的 ID。
oldState之前的发布状态 详见: STREAM_SUBSCRIBE_STATE
newState当前的发布状态 详见: STREAM_SUBSCRIBE_STATE
elapseSinceLastState两次状态变化时间间隔(毫秒)

◆ onLocalAudioStats()

virtual void rtc::IRTCEngineEventHandler::onLocalAudioStats ( const LocalAudioStats  stats)
virtual

通话中本地音频流的统计信息回调。

参数
stats本地音频统计数据。详见 LocalAudioStats

该类的文档由以下文件生成: