API Reference for windows - 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 |
成员函数说明
◆ onJoinedRoom()
| virtual |
加入频道回调。
该回调方法表示该客户端 joinRoom 成功加入了指定的频道。
- 参数
myId 用户id room 房间名
◆ onLeaveRoom()
| virtual |
退出频道回调。
该回调方法表示该客户端 leaveRoom 成功退出了指定的频道。
◆ onClientRoleChanged()
| virtual |
新增回调,自己在房间的角色发生变化,角色类型:主播和观众;该变化由 setClientRole 接口触发
- 参数
oldRole 原来的角色 newRole 新的角色
◆ onUserJoined()
| virtual |
有用户加入房间; 由 joinRoom 接口触发
- 参数
[in] uid 加入房间的用户
◆ onUserOffline()
| virtual |
当有用户退出房间; 由leaveRoom 接口触发
- 参数
[in] uid 退出房间的用户
◆ onConnectionStateChanged()
| virtual |
网络连接状态已改变回调。 该回调在网络连接状态发生改变的时候触发,并告知用户当前的网络连接状态和引起网络状态改变的原因。
- 参数
state 详见 RTC_CONNECTION_STATE_TYPE reason
◆ onLastMileQuality()
| virtual |
通话前网络上下行 last mile 质量报告回调。 该回调描述本地用户在加入频道前的 last mile 网络探测的结果,其中 last mile 是指设备到 媒体服务器的网络状态。 在调用 enableLastmileTest 之后,该回调函数每 2 秒触发一次。
- 参数
quality 网络上下行 last mile 质量
◆ onAudioDeviceStateChanged()
| virtual |
音频设备状态
- 参数
deviceId 设备id deviceType 详见:RTC_MEDIA_DEVICE_TYPE deviceState 详见:RTC_MEDIA_DEVICE_STATE_TYPE
◆ onVideoDeviceStateChanged()
| virtual |
视频设备状态
- 参数
deviceId 设备id deviceType 详见:RTC_MEDIA_DEVICE_TYPE deviceState 详见:RTC_MEDIA_DEVICE_STATE_TYPE
◆ onFirstLocalVideoFrame()
| virtual |
在引擎收到并绘制第一视频帧的时候调用, 只有使用sdk渲染才能收到该回调, 使用自渲染收不到该回调
- 参数
width 第一视频帧的宽度 height 第一视频帧的高度
◆ onFirstLocalAudioFrame()
| virtual |
发送第一个本地音频帧时调用
◆ onFirstRemoteVideoFrame()
| virtual |
收到远程用户共享的第一帧视频, 只有使用sdk渲染才能收到该回调, 使用自渲染收不到该回调
- 参数
uid 用户id width 宽 height 高
◆ onFirstRemoteAudioFrame()
| virtual |
收到远程用户共享的第一帧音频
- 参数
uid 用户id
◆ onUserMuteVideo()
| virtual |
onUserMuteVideo 回调将被废弃,使用 IRTCEngineEventHandler::onRemoteVideoStateChanged "onRemoteVideoStateChanged"
- 参数
userId 用户id isMuting true:关闭; false:打开
◆ onUserMuteAudio()
| virtual |
该接口将被弃用,使用IRTCEngineEventHandler::onRemoteAudioStateChanged "onRemoteAudioStateChanged" 接口 远端关闭视频和mute, 都使用onUserEnableVideo回调
- 参数
userId 远程用户ID isMuting true:静音; false:取消静音
◆ onUserEnableVideo()
| virtual |
该接口将被废弃,使用 IRTCEngineEventHandler::onRemoteVideoStateChanged "onRemoteVideoStateChanged" 替换 远程用户是否启用视频服务
- 参数
userId 远程用户ID enabled true:启用;false:关闭
◆ onActiveSpeaker()
| virtual |
报告当前说话声音最大的人 检测到的是最近小段时间音量最大的人
- 参数
uid 当前说话声音最大的人. 0表示是自己
◆ onAudioVolume()
| virtual |
报告用户的音量 500ms一次
- 参数
uid uid 说话用户, 0表示是自己 volume 音量,范围:[0,255]
◆ onError()
| virtual |
LiveRoom 内部一些处理结果通知
- 参数
code 执行结果。详见: RTC_RET_CODE msg 消息
◆ onRTCStats()
| virtual |
每两秒钟报告一次当前呼叫会话的统计信息
- 参数
stats 详见: RTCStats
◆ onSeiTimestampArrived()
| virtual |
本端收到sei时间戳的回调, 单位ms, 接收频率取决于发送端的发送频率, 业务端还可以使用 getCurSeiTimestamp 获取当前最新时间戳
- 参数
uid 用户id seiTime seiTime
◆ onRtmpStreamingStateChanged()
| virtual |
rtmp 旁路推流状态发生变化及原因
- 参数
url 推流地址 state 详见:RTMP_STREAM_PUBLISH_STATE errCode 详见:RTMP_STREAM_PUBLISH_ERROR
◆ onStartCloudRecordStateChanged()
| virtual |
云录制状态回调, 目前该接口用不到,无需继承
- 参数
auth recordId state errorCode sid
◆ onStopCloudRecordStateChanged()
| virtual |
云录制状态回调, 目前该接口用不到,无需继承
- 参数
auth recordId sid state errorCode
◆ onHttpMetadataStateStateChanged()
| virtual |
rtmp旁路转推时 http 打点的状态回调,只有当state = 0 && errorCode =0 时属于正确回调,否则属于异常回调
- 参数
streamId category state errorCode errMsg
◆ onRtmpUplinesStateChanged()
| virtual |
rtmp 旁路转推时获取调度的回调,只有state 和 errCode都=0时才是正确回调,否则属于异常回调
- 参数
streamId state errCode info
◆ onRemoteAudioStateChanged()
| virtual |
远端音频状态的回调
- 参数
uid 用户id state 详见: REMOTE_AUDIO_STATE reason 详见: REMOTE_AUDIO_STATE_REASON elapsed 从本地用户调用 joinRoom 方法到发生本事件经历的时间,单位为 ms。
◆ onRemoteVideoStateChanged()
| virtual |
远端视频状态回调
- 参数
uid 用户id state 详见: RTC_REMOTE_VIDEO_STATE reason 详见: RTC_REMOTE_VIDEO_STATE_REASON elapsed 详见: 从本地用户调用 joinRoom 方法到发生本事件经历的时间,单位为 ms。
◆ onLocalVideoStateChanged()
| virtual |
新增本端视频状态变化
- 参数
localVideoState 详见: RTC_LOCAL_VIDEO_STREAM_STATE error 详见: RTC_LOCAL_VIDEO_STREAM_ERROR
◆ onEngineChangeNotify()
| virtual |
用户被踢通知
◆ onNetworkQuality()
| virtual |
网络上下行last mile 质量报告回调
- 参数
uid txQuality 该用户的上行网络质量,基于发送码率、上行丢包率、平均往返时延和网络抖动计算 rxQuality 该用户的下行网络质量,基于下行网络的丢包率、平均往返延时和网络抖动计算
◆ onVideoBufferingStateChanged()
| virtual |
远端卡顿回调
- 参数
uid 远端用户ID, state 详见: VIDEO_BUFFERING_STATE timestampInMs 时间戳
◆ onLocalVideoStats()
| virtual |
本地视频流统计信息回调。 该回调描述本地设备发送视频流的统计信息,每 2 秒触发一次。
- 参数
stats 本地视频流统计信息。详见: LocalVideoStats
◆ onStreamMessage()
| virtual |
irc信息
- 参数
uid 远端用户ID, data irc数据 length data长度
◆ onChannelMediaRelayStateChanged()
| virtual |
跨频道媒体流转发状态发生改变回调。 当跨频道媒体流转发状态发生改变时,SDK 会触发该回调, 并报告当前的转发状态以及相关的错误信息
- 参数
state 跨频道媒体流转发状态 详见: CHANNEL_MEDIA_RELAY_STATE code 跨频道媒体流转发出错的错误码 详见: CHANNEL_MEDIA_RELAY_ERROR
◆ onChannelMediaRelayEvent()
| virtual |
跨频道媒体流转发事件回调。 该回调报告跨频道媒体流转发过程中发生的事件。
- 参数
code 跨频道媒体流转发事件码 详见: CHANNEL_MEDIA_RELAY_EVENT
◆ onRemoteStreamSubscribeAdvice()
| virtual |
建议设置的流类型
- 参数
uid 用户Id currentStreamType 当前流类型 详见:REMOTE_VIDEO_STREAM_TYPE suitableStreamType 建议流类型 详见:REMOTE_VIDEO_STREAM_TYPE
◆ onAudioDeviceVolumeChanged()
| virtual |
本地音频设备音量回调
- 参数
deviceType 0:扬声器; 1:麦克风 volume 音量大小,范围: 0-255 muted 是否静音
◆ onAudioPublishStateChange()
| virtual |
音频发布状态改变回调。
- 参数
channel 频道名 oldState 之前的发布状态 详见: STREAM_PUBLISH_STATE newState 当前的发布状态 详见: STREAM_PUBLISH_STATE elapseSinceLastState 两次状态变化时间间隔(毫秒)
◆ onVideoPublishStateChange()
| virtual |
视频发布状态改变回调。
- 参数
channel 频道名 oldState 之前的发布状态 详见: STREAM_PUBLISH_STATE newState 当前的发布状态 详见: STREAM_PUBLISH_STATE elapseSinceLastState 两次状态变化时间间隔(毫秒)
◆ onAudioSubscribeStateChange()
| virtual |
音频订阅状态发生改变回调。
- 参数
channel 频道名 uid 远端用户的 ID。 oldState 之前的发布状态 详见: STREAM_SUBSCRIBE_STATE newState 当前的发布状态 详见: STREAM_SUBSCRIBE_STATE elapseSinceLastState 两次状态变化时间间隔(毫秒)
◆ onVideoSubscribeStateChange()
| virtual |
视频订阅状态发生改变回调。
- 参数
channel 频道名 uid 远端用户的 ID。 oldState 之前的发布状态 详见: STREAM_SUBSCRIBE_STATE newState 当前的发布状态 详见: STREAM_SUBSCRIBE_STATE elapseSinceLastState 两次状态变化时间间隔(毫秒)
◆ onLocalAudioStats()
| virtual |
通话中本地音频流的统计信息回调。
- 参数
stats 本地音频统计数据。详见 LocalAudioStats
该类的文档由以下文件生成: