agora::rtc::ILocalUserObserver类 参考
- C++
更新时间不可用
详细描述
成员枚举类型说明
USER_MEDIA_INFO
用户媒体信息。
| 枚举值 | |
|---|---|
| 0: 用户已经停止发布音频流。 | |
| 1: 用户已经停止发布视频流。 | |
| 4: 用户已开启视频功能。 | |
REMOTE_USER_STATE
远端用户状态信息。
| 枚举值 | |
|---|---|
| 1:远端用户已经停止发布音频。 | |
| 2:远端用户已经停止发布视频。 | |
| 3:远端用户已经开启视频。 | |
| 4:远端用户已经开启视频采集。 | |
构造及析构函数说明
~ILocalUserObserver()
virtual agora::rtc::ILocalUserObserver::~ILocalUserObserver()成员函数说明
onAudioTrackPublishSuccess()
virtual void agora::rtc::ILocalUserObserver::onAudioTrackPublishSuccess(agora_refptr< ILocalAudioTrack > audioTrack)在第一个本地音频包发送时触发,表明本地音频轨道已成功发布。
| 参数名 | 描述 |
|---|---|
audioTrack | ILocalAudioTrack 对象。 |
onLocalAudioTrackStateChanged()
virtual void agora::rtc::ILocalUserObserver::onLocalAudioTrackStateChanged(agora_refptr< rtc::ILocalAudioTrack > audioTrack, LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR errorCode)在本地音频轨道状态变化时触发。
| 参数名 | 描述 |
|---|---|
audioTrack | ILocalAudioTrack 对象。 |
state | 音频轨道的状态:LOCAL_AUDIO_STREAM_STATE。 |
errorCode | 错误信息: LOCAL_AUDIO_STREAM_ERROR。 |
onLocalAudioTrackStatistics()
virtual void agora::rtc::ILocalUserObserver::onLocalAudioTrackStatistics(const LocalAudioStats & stats)报告本地音频轨道状态。
| 参数名 | 描述 |
|---|---|
stats | 本地音频轨道状态:LocalAudioStats。 |
onRemoteAudioTrackStatistics()
virtual void agora::rtc::ILocalUserObserver::onRemoteAudioTrackStatistics(agora_refptr< rtc::IRemoteAudioTrack > audioTrack, const RemoteAudioTrackStats & stats)报告远端音频轨道状态。
| 参数名 | 描述 |
|---|---|
audioTrack | 远端音频轨道:IRemoteAudioTrack。 |
stats | 远端音频轨道统计信息:RemoteAudioTrackStats。 |
onUserAudioTrackSubscribed()
virtual void agora::rtc::ILocalUserObserver::onUserAudioTrackSubscribed(user_id_t userId, agora_refptr< rtc::IRemoteAudioTrack > audioTrack)成功订阅远端用户发送的音频流时触发。
| 参数名 | 描述 |
|---|---|
userId | 发送音频帧的远端用户 ID。 |
audioTrack | 远端音频轨道:IRemoteAudioTrack。 |
onUserAudioTrackStateChanged()
virtual void agora::rtc::ILocalUserObserver::onUserAudioTrackStateChanged(user_id_t userId, agora_refptr< rtc::IRemoteAudioTrack > audioTrack, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)在远端音频轨道状态变化时触发。
| 参数名 | 描述 |
|---|---|
userId | 远端用户 ID。 |
audioTrack | 远端音频轨道:IRemoteAudioTrack。 |
state | 音频轨道的当前状态:REMOTE_AUDIO_STATE。 |
reason | 状态改变原因:REMOTE_AUDIO_STATE_REASON。 |
elapsed | 远端用户连接频道之后经过的时间(毫秒)。 |
onVideoTrackPublishSuccess()
virtual void agora::rtc::ILocalUserObserver::onVideoTrackPublishSuccess(agora_refptr< ILocalVideoTrack > videoTrack)在第一个本地视频包发送时触发,表明本地音视频轨道已成功发布。
| 参数名 | 描述 |
|---|---|
videoTrack | 本地视频轨道: ILocalVideoTrack。 |
onLocalVideoTrackStateChanged()
virtual void agora::rtc::ILocalUserObserver::onLocalVideoTrackStateChanged(agora_refptr< rtc::ILocalVideoTrack > videoTrack, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR errorCode)本地视频轨道状态改变时触发。
注解
如果该回调返回错误码,声网建议你通过 setEnabled 方法关闭轨道再重新开启。
| 参数名 | 描述 |
|---|---|
videoTrack | 本地视频轨道:ILocalVideoTrack。 |
state | 本地视频轨道状态:LOCAL_VIDEO_STREAM_STATE。 |
errorCode | 错误信息:LOCAL_VIDEO_STREAM_ERROR。 |
onLocalVideoTrackStatistics()
virtual void agora::rtc::ILocalUserObserver::onLocalVideoTrackStatistics(agora_refptr< rtc::ILocalVideoTrack > videoTrack, const LocalVideoTrackStats & stats)报告本地视频轨道的统计信息。
| 参数名 | 描述 |
|---|---|
videoTrack | 本地视频轨道。 |
stats | 本地视频轨道的统计信息:LocalVideoTrackStats。 |
onUserVideoTrackSubscribed()
virtual void agora::rtc::ILocalUserObserver::onUserVideoTrackSubscribed(user_id_t userId, VideoTrackInfo trackInfo, agora_refptr< rtc::IRemoteVideoTrack > videoTrack)成功订阅远端用户发送的视频流时触发。
| 参数名 | 描述 |
|---|---|
userId | 发送视频帧的远端用户 ID。 |
trackInfo | 视频轨道信息。 |
videoTrack | 远端视频轨道。 |
onUserVideoTrackStateChanged()
virtual void agora::rtc::ILocalUserObserver::onUserVideoTrackStateChanged(user_id_t userId, agora_refptr< rtc::IRemoteVideoTrack > videoTrack, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)在远端视频轨道状态变更时触发。
| 参数名 | 描述 |
|---|---|
userId | 远端用户 ID。 |
videoTrack | 远端视频轨道。 |
state | 当前视频帧状态:REMOTE_VIDEO_STATE。 |
reason | 状态改变原因:REMOTE_VIDEO_STATE_REASON。 |
elapsed | 远端用户连接频道之后经过的时间(毫秒)。 |
onFirstRemoteVideoFrameRendered()
virtual void agora::rtc::ILocalUserObserver::onFirstRemoteVideoFrameRendered(user_id_t userId, int width, int height, int elapsed)在第一个远端发送的视频帧渲染时触发。
| 参数名 | 描述 |
|---|---|
userId | 远端用户 ID。 |
width | 视频帧宽度(像素)。 |
height | 视频帧高度(像素)。 |
elapsed | 远端用户连接频道之后经过的时间(毫秒)。 |
onRemoteVideoTrackStatistics()
virtual void agora::rtc::ILocalUserObserver::onRemoteVideoTrackStatistics(agora_refptr< rtc::IRemoteVideoTrack > videoTrack, const RemoteVideoTrackStats & stats)报告远端视频轨道的统计信息。
| 参数名 | 描述 |
|---|---|
videoTrack | 远端视频轨道:IRemoteVideoTrack 。 |
stats | 远端视频轨道统计信息:RemoteVideoTrackStats 。 |
onAudioSubscribeStateChanged()
virtual void agora::rtc::ILocalUserObserver::onAudioSubscribeStateChanged(const char * channel, user_id_t userId, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)对远端用户音频订阅状态变更时触发。
| 参数名 | 描述 |
|---|---|
channel | 用户所在频道的频道名。 |
userId | 订阅的远端用户的 ID。 |
oldState | 之前的订阅状态: STREAM_SUBSCRIBE_STATE 。 |
newState | 新的订阅状态: STREAM_SUBSCRIBE_STATE 。 |
elapseSinceLastState | 变更为新状态之后的时长(毫秒)。 |
onVideoSubscribeStateChanged()
virtual void agora::rtc::ILocalUserObserver::onVideoSubscribeStateChanged(const char * channel, user_id_t userId, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)对远端用户视频订阅状态变更时触发。
| 参数名 | 描述 |
|---|---|
channel | 用户所在频道的频道名。 |
userId | 订阅的远端用户的 ID。 |
oldState | 之前的订阅状态: STREAM_SUBSCRIBE_STATE 。 |
newState | 新的订阅状态: STREAM_SUBSCRIBE_STATE 。 |
elapseSinceLastState | 变更为新状态之后的时长(毫秒)。 |
onAudioPublishStateChanged()
virtual void agora::rtc::ILocalUserObserver::onAudioPublishStateChanged(const char * channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)音频发布状态变更后触发。
| 参数名 | 描述 |
|---|---|
channel | 用户所在频道的频道名。 |
oldState | 之前的订阅状态: STREAM_SUBSCRIBE_STATE 。 |
newState | 新的订阅状态: STREAM_SUBSCRIBE_STATE 。 |
elapseSinceLastState | 变更为新状态之后的时长(毫秒)。 |
onVideoPublishStateChanged()
virtual void agora::rtc::ILocalUserObserver::onVideoPublishStateChanged(const char * channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)视频发布状态变更后触发。
| 参数名 | 描述 |
|---|---|
channel | 用户所在频道的频道名。 |
oldState | 之前的订阅状态: STREAM_SUBSCRIBE_STATE 。 |
newState | 新的订阅状态: STREAM_SUBSCRIBE_STATE 。 |
elapseSinceLastState | 变更为新状态之后的时长(毫秒)。 |
onFirstRemoteAudioFrame()
virtual void agora::rtc::ILocalUserObserver::onFirstRemoteAudioFrame(user_id_t userId, int elapsed)接收到远端用户发送的第一个音频帧时触发。
| 参数名 | 描述 |
|---|---|
userId | 远端用户的 ID。 |
elapsed | 远端用户连接频道之后经过的时间(毫秒)。 |
onFirstRemoteAudioDecoded()
virtual void agora::rtc::ILocalUserObserver::onFirstRemoteAudioDecoded(user_id_t userId, int elapsed)在 SDK 解码第一个收到的远端音频帧时触发。
| 参数名 | 描述 |
|---|---|
userId | 发送音频帧的用户 user ID。 |
elapsed | 远端用户连接频道之后经过的时间(毫秒)。 |
onFirstRemoteVideoDecoded()
virtual void agora::rtc::ILocalUserObserver::onFirstRemoteVideoDecoded(user_id_t userId, int width, int height, int elapsed)在 SDK 解码第一个视频帧时触发。
| 参数名 | 描述 |
|---|---|
userId | 发送视频帧的用户 user ID。 |
width | 视频帧的宽度(像素)。 |
height | 视频帧的高度(像素)。 |
elapsed | 远端用户连接频道之后经过的时间(毫秒)。 |
onUserInfoUpdated()
virtual void agora::rtc::ILocalUserObserver::onUserInfoUpdated(user_id_t userId, USER_MEDIA_INFO msg, bool val)用户媒体信息更新时触发。
| 参数名 | 描述 |
|---|---|
userId | 用户 ID。 |
msg | 用户媒体信息。详见 USER_MEDIA_INFO 。 |
val | 用户是否停止发流。 |
onIntraRequestReceived()
virtual void agora::rtc::ILocalUserObserver::onIntraRequestReceived()本地用户收到来自远端用户的关键帧请求时触发。
该回调提醒本地用户编码关键帧。
onStreamMessage()
virtual void agora::rtc::ILocalUserObserver::onStreamMessage(user_id_t userId, int streamId, const char * data, size_t length)接收到数据流消息的回调。
该回调表示本地用户收到了远端用户调用 sendStreamMessage 方法发送的流消息。
| 参数名 | 描述 |
|---|---|
userId | 发送消息的用户 ID。 |
streamId | 接收到的消息的 Stream ID。 |
data | 接收到的数据。 |
length | 数据长度,单位为字节。 |
onUserStateChanged()
virtual void agora::rtc::ILocalUserObserver::onUserStateChanged(user_id_t userId, uint32_t state)远端用户状态更新时触发。
| 参数名 | 描述 |
|---|---|
userId | 远端用户 ID。 |
state | 远端用户状态: REMOTE_USER_STATE 。 |