API Reference for mac - IRTCChannelEventHandler

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

Public 成员函数

virtual ~IRTCChannelEventHandler ()
 
virtual void onJoinChannelSuccess (const char *channelId, uint32_t uid)
 
virtual void onLeaveChannel (const char *channelId)
 
virtual void onUserJoined (const char *chcannelId, uint32_t uid)
 
virtual void onUserOffline (const char *channelId, uint32_t uid)
 
virtual void onChannelWarning (const char *channelId, int warn, const char *msg)
 
virtual void onChannelError (const char *channelId, int err, const char *msg)
 
virtual void onFirstRemoteVideoFrame (const char *channelId, uint32_t uid, int width, int height, int elapsed)
 
virtual void onFirstRemoteAudioFrame (const char *channelId, uint32_t uid, int elapsed)
 
virtual void onRemoteVideoStateChanged (const char *channelId, uint32_t uid, RTC_REMOTE_VIDEO_STATE state, RTC_REMOTE_VIDEO_STATE_REASON reason, int elapsed)
 
virtual void onRemoteAudioStateChanged (const char *channelId, uint32_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
 
virtual void onRtcStats (const char *channelId, const rtc::RTCStats &stats)
 
virtual void onClientRoleChanged (const char *channelId, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole)
 
virtual void onSeiTimestampArrived (const char *channelId, UserId uid, uint64_t seiTime)
 
virtual void onConnectionStateChanged (const char *channelId, rtc::RTC_CONNECTION_STATE_TYPE state, rtc::CONNECTION_CHANGED_REASON_TYPE reason)
 
virtual void onVideoBufferingStateChanged (UserId uid, rtc::VIDEO_BUFFERING_STATE state, int64_t timestampInMs)
 
virtual void onStreamMessage (UserId uid, const char *data, size_t length)
 
virtual void onRemoteStreamSubscribeAdvice (const char *channelId, UserId uid, rtc::REMOTE_VIDEO_STREAM_TYPE currentStreamType, rtc::REMOTE_VIDEO_STREAM_TYPE suitableStreamType)
 
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 onRtmpStreamingStateChanged (const char *channelId, const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode)
 
virtual void onRemoteVideoStats (const RemoteVideoStats stats)
 
virtual void onRemoteAudioStats (const RemoteAudioStats stats)
 
virtual void onChannelMediaRelayStateChanged (CHANNEL_MEDIA_RELAY_STATE state, CHANNEL_MEDIA_RELAY_ERROR code)
 
virtual void onChannelMediaRelayEvent (CHANNEL_MEDIA_RELAY_EVENT code)
 

构造及析构函数说明

◆ ~IRTCChannelEventHandler()

virtual rtc::IRTCChannelEventHandler::~IRTCChannelEventHandler ( )
virtual

成员函数说明

◆ onJoinChannelSuccess()

virtual void rtc::IRTCChannelEventHandler::onJoinChannelSuccess ( const char *  channelId,
uint32_t  uid 
)
virtual

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

参数
channelIdchannel对象
myId用户id
room房间名

◆ onLeaveChannel()

virtual void rtc::IRTCChannelEventHandler::onLeaveChannel ( const char *  channelId)
virtual

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

参数
channelIdchannel对象
channelId用户ID

◆ onUserJoined()

virtual void rtc::IRTCChannelEventHandler::onUserJoined ( const char *  chcannelId,
uint32_t  uid 
)
virtual

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

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

◆ onUserOffline()

virtual void rtc::IRTCChannelEventHandler::onUserOffline ( const char *  channelId,
uint32_t  uid 
)
virtual

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

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

◆ onChannelWarning()

virtual void rtc::IRTCChannelEventHandler::onChannelWarning ( const char *  channelId,
int  warn,
const char *  msg 
)
virtual

房间内警告消息

参数
channelIdchannel对象
warn警告码,详见 RTC_RET_CODE
msg警告信息

◆ onChannelError()

virtual void rtc::IRTCChannelEventHandler::onChannelError ( const char *  channelId,
int  err,
const char *  msg 
)
virtual

LiveRoom 内部一些处理结果通知

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

◆ onFirstRemoteVideoFrame()

virtual void rtc::IRTCChannelEventHandler::onFirstRemoteVideoFrame ( const char *  channelId,
uint32_t  uid,
int  width,
int  height,
int  elapsed 
)
virtual

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

参数
channelIdchannel对象
uid用户id
width
height

◆ onFirstRemoteAudioFrame()

virtual void rtc::IRTCChannelEventHandler::onFirstRemoteAudioFrame ( const char *  channelId,
uint32_t  uid,
int  elapsed 
)
virtual

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

参数
channelIdchannel对象
uiduid
elapsed从本地用户调用 joinChannel 方法到发生本事件经历的时间,单位为 ms。

◆ onRemoteVideoStateChanged()

virtual void rtc::IRTCChannelEventHandler::onRemoteVideoStateChanged ( const char *  channelId,
uint32_t  uid,
RTC_REMOTE_VIDEO_STATE  state,
RTC_REMOTE_VIDEO_STATE_REASON  reason,
int  elapsed 
)
virtual

远端视频状态回调

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

◆ onRemoteAudioStateChanged()

virtual void rtc::IRTCChannelEventHandler::onRemoteAudioStateChanged ( const char *  channelId,
uint32_t  uid,
REMOTE_AUDIO_STATE  state,
REMOTE_AUDIO_STATE_REASON  reason,
int  elapsed 
)
virtual

远端音频状态的回调

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

◆ onRtcStats()

virtual void rtc::IRTCChannelEventHandler::onRtcStats ( const char *  channelId,
const rtc::RTCStats stats 
)
virtual

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

参数
channelIdchannel对象
stats详见: RTCStats

◆ onClientRoleChanged()

virtual void rtc::IRTCChannelEventHandler::onClientRoleChanged ( const char *  channelId,
CLIENT_ROLE_TYPE  oldRole,
CLIENT_ROLE_TYPE  newRole 
)
virtual

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

参数
channelIdchannel对象
oldRole原来的角色
newRole新的角色

◆ onSeiTimestampArrived()

virtual void rtc::IRTCChannelEventHandler::onSeiTimestampArrived ( const char *  channelId,
UserId  uid,
uint64_t  seiTime 
)
virtual

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

参数
channelIdchannel对象
uid用户id
seiTimeseiTime

◆ onConnectionStateChanged()

virtual void rtc::IRTCChannelEventHandler::onConnectionStateChanged ( const char *  channelId,
rtc::RTC_CONNECTION_STATE_TYPE  state,
rtc::CONNECTION_CHANGED_REASON_TYPE  reason 
)
virtual

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

参数
channelIdchannel对象
state详见 RTC_CONNECTION_STATE_TYPE
reason原因

◆ onVideoBufferingStateChanged()

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

远端卡顿回调

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

◆ onStreamMessage()

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

irc信息

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

◆ onRemoteStreamSubscribeAdvice()

virtual void rtc::IRTCChannelEventHandler::onRemoteStreamSubscribeAdvice ( const char *  channelId,
UserId  uid,
rtc::REMOTE_VIDEO_STREAM_TYPE  currentStreamType,
rtc::REMOTE_VIDEO_STREAM_TYPE  suitableStreamType 
)
virtual

建议设置的流类型

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

◆ onAudioPublishStateChange()

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

音频发布状态改变回调。

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

◆ onVideoPublishStateChange()

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

视频发布状态改变回调。

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

◆ onAudioSubscribeStateChange()

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

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

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

◆ onVideoSubscribeStateChange()

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

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

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

◆ onRtmpStreamingStateChanged()

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

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

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

◆ onRemoteVideoStats()

virtual void rtc::IRTCChannelEventHandler::onRemoteVideoStats ( const RemoteVideoStats  stats)
virtual

通话中远端视频流的统计信息回调。

参数
stats详见: RemoteVideoStats

◆ onRemoteAudioStats()

virtual void rtc::IRTCChannelEventHandler::onRemoteAudioStats ( const RemoteAudioStats  stats)
virtual

通话中远端视频流的统计信息回调。

参数
stats详见: RemoteAudioStats

◆ onChannelMediaRelayStateChanged()

virtual void rtc::IRTCChannelEventHandler::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::IRTCChannelEventHandler::onChannelMediaRelayEvent ( CHANNEL_MEDIA_RELAY_EVENT  code)
virtual

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

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

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