io.agora.rtc.ILocalUserObserver接口 参考
- Java
更新时间不可用
ILocalUserObserver 接口。
成员函数说明
onAudioMetaDataReceived()
void io.agora.rtc.ILocalUserObserver.onAudioMetaDataReceived(AgoraLocalUser agoraLocalUser, String userId, byte[] metaData)接收到对方音频 Metadata 数据的回调。该回调表示本地用户收到了远端用户调用 sendAudioMetaData 方法发送的音频 Metadata 数据。
| 参数名 | 描述 |
|---|---|
agoraLocalUser | 一个 AgoraLocalUser 对象。 |
userId | 发送音频 Metadata 数据的用户 ID。 |
metaData | 音频 Metadata 数据。 |
onAudioPublishStateChanged()
void io.agora.rtc.ILocalUserObserver.onAudioPublishStateChanged(AgoraLocalUser agora_local_user, String channel, int old_state, int new_state, int elapse_since_last_state)音频发布状态变更后触发。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
channel | 用户所在频道的频道名。 |
old_state | 之前的发布状态:
|
new_state | 新的发布状态:
|
elapse_since_last_state | 变更为新状态之后的时长(毫秒)。 |
onAudioSubscribeStateChanged()
void io.agora.rtc.ILocalUserObserver.onAudioSubscribeStateChanged(AgoraLocalUser agora_local_user, String channel, String user_id, int old_state, int new_state, int elapse_since_last_state)对远端用户音频订阅状态变更时触发。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
channel | 用户所在频道的频道名。 |
user_id | 订阅的远端用户的 ID。 |
old_state | 之前的订阅状态:
|
new_state | 新的订阅状态:
|
elapse_since_last_state | 变更为新状态之后的时长(毫秒)。 |
onAudioTrackPublishSuccess()
void io.agora.rtc.ILocalUserObserver.onAudioTrackPublishSuccess(AgoraLocalUser agora_local_user, AgoraLocalAudioTrack agora_local_audio_track)在第一个本地音频包发送时触发,表明本地音频轨道已成功发布。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
agora_local_audio_track | 一个 AgoraLocalAudioTrack 对象。 |
onFirstRemoteAudioDecoded()
void io.agora.rtc.ILocalUserObserver.onFirstRemoteAudioDecoded(AgoraLocalUser agora_local_user, String user_id, int elapsed)在 SDK 解码第一个收到的远端音频帧时触发。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
user_id | 远端用户的 ID。 |
elapsed | 远端用户连接频道之后经过的时间(毫秒)。 |
onFirstRemoteAudioFrame()
void io.agora.rtc.ILocalUserObserver.onFirstRemoteAudioFrame(AgoraLocalUser agora_local_user, String user_id, int elapsed)接收到远端用户发送的第一个音频帧时触发。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
user_id | 远端用户的 ID。 |
elapsed | 远端用户连接频道之后经过的时间(毫秒)。 |
onFirstRemoteVideoDecoded()
void io.agora.rtc.ILocalUserObserver.onFirstRemoteVideoDecoded(AgoraLocalUser agora_local_user, String user_id, int width, int height, int elapsed)在 SDK 解码第一个视频帧时触发。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
user_id | 远端用户 ID。 |
width | 视频帧宽度(像素)。 |
height | 视频帧高度(像素)。 |
elapsed | 远端用户连接频道之后经过的时间(毫秒)。 |
onFirstRemoteVideoFrame()
void io.agora.rtc.ILocalUserObserver.onFirstRemoteVideoFrame(AgoraLocalUser agora_local_user, String user_id, int width, int height, int elapsed)在第一个远端发送的视频帧渲染时触发。 当用户的视频窗口显示第一个远端发送的视频帧时,SDK 会触发该回调。App 可以获取从用户加入频道到第一个视频帧渲染出来的时间。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
user_id | 远端用户 ID。 |
width | 视频帧宽度(像素)。 |
height | 视频帧高度(像素)。 |
elapsed | 远端用户连接频道之后经过的时间(毫秒)。 |
onIntraRequestReceived()
void io.agora.rtc.ILocalUserObserver.onIntraRequestReceived(AgoraLocalUser agora_local_user)本地用户收到来自远端用户的关键帧请求时触发。该回调提醒本地用户编码关键帧。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
onLocalAudioTrackStateChanged()
void io.agora.rtc.ILocalUserObserver.onLocalAudioTrackStateChanged(AgoraLocalUser agora_local_user, AgoraLocalAudioTrack agora_local_audio_track, int state, int error)在本地音频轨道状态变化时触发。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
agora_local_audio_track | 一个 ILocalAudioTrack对象。 |
state | 本地音频轨道状态:
|
error | 本地音频失败的原因:
|
onLocalAudioTrackStatistics()
void io.agora.rtc.ILocalUserObserver.onLocalAudioTrackStatistics(AgoraLocalUser agora_local_user, LocalAudioStats stats)报告本地用户的音频统计信息。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
stats | 本地用户的音频统计信息。 |
onLocalVideoTrackStateChanged()
void io.agora.rtc.ILocalUserObserver.onLocalVideoTrackStateChanged(AgoraLocalUser agora_local_user, AgoraLocalVideoTrack agora_local_video_track, int state, int error)onLocalVideoTrackStatistics()
void io.agora.rtc.ILocalUserObserver.onLocalVideoTrackStatistics(AgoraLocalUser agora_local_user, AgoraLocalVideoTrack agora_local_video_track, LocalVideoTrackStats stats)报告本地视频轨道的统计信息。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
agora_local_video_track | 一个 AgoraLocalVideoTrack 对象。 |
stats | 本地视频轨道的统计信息。 |
onRemoteAudioTrackStatistics()
void io.agora.rtc.ILocalUserObserver.onRemoteAudioTrackStatistics(AgoraLocalUser agora_local_user, AgoraRemoteAudioTrack agora_remote_audio_track, RemoteAudioTrackStats stats)报告远端用户的音频统计信息。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
agora_remote_audio_track | 一个 IRemoteAudioTrack 对象。 |
stats | 远端用户的音频统计信息。 |
onRemoteSubscribeFallbackToAudioOnly()
void io.agora.rtc.ILocalUserObserver.onRemoteSubscribeFallbackToAudioOnly(AgoraLocalUser agora_local_user, String user_id, int is_fallback_or_recover)onRemoteVideoTrackStatistics()
void io.agora.rtc.ILocalUserObserver.onRemoteVideoTrackStatistics(AgoraLocalUser agora_local_user, AgoraRemoteVideoTrack agora_remote_video_track, RemoteVideoTrackStats stats)报告远端视频轨道的统计信息。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
agora_remote_video_track | 一个 AgoraRemoteVideoTrack 对象。 |
stats | 远端视频轨道统计信息。 |
onStreamMessage()
void io.agora.rtc.ILocalUserObserver.onStreamMessage(AgoraLocalUser agora_local_user, String user_id, int stream_id, String data, long length)接收到数据流消息的回调。
该回调表示本地用户收到了远端用户调用 sendStreamMessage 方法发送的流消息。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
user_id | 发送消息的用户 ID。 |
stream_id | 接收到的消息的 Stream ID。 |
data | 接收到的数据。 |
length | 数据长度,单位为字节。 |
onUserAudioTrackStateChanged()
void io.agora.rtc.ILocalUserObserver.onUserAudioTrackStateChanged(AgoraLocalUser agora_local_user, String user_id, AgoraRemoteAudioTrack agora_remote_audio_track, int state, int reason, int elapsed)在远端音频轨道状态变化时触发。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
user_id | 音频轨道状态改变的远端用户的 ID。 |
agora_remote_audio_track | 一个 IRemoteAudioTrack 对象。 |
state | 音频轨道当前状态:
|
reason | 状态改变原因:
|
elapsed | 远端用户连接频道之后经过的时间(毫秒)。 |
onUserAudioTrackSubscribed()
void io.agora.rtc.ILocalUserObserver.onUserAudioTrackSubscribed(AgoraLocalUser agora_local_user, String user_id, AgoraRemoteAudioTrack agora_remote_audio_track)成功订阅远端用户发送的音频流时触发。
该回调表示本地用户已订阅指定远端音频轨道,并且收到首帧来自该轨道的音频。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
user_id | 所接收的音频流的远端用户 ID。 |
agora_remote_audio_track | 一个 IRemoteAudioTrack 对象。 |
onUserInfoUpdated()
void io.agora.rtc.ILocalUserObserver.onUserInfoUpdated(AgoraLocalUser agora_local_user, String user_id, int msg, int val)用户媒体信息更新时触发。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
user_id | 用户 ID。 |
msg | 用户媒体信息。 |
val | 用户是否停止发流。 |
onUserStateChanged()
void io.agora.rtc.ILocalUserObserver.onUserStateChanged(AgoraLocalUser agora_local_user, String user_id, int state)远端用户状态更新时触发。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
user_id | 远端用户 ID。 |
state | 远端用户状态。 |
onUserVideoTrackStateChanged()
void io.agora.rtc.ILocalUserObserver.onUserVideoTrackStateChanged(AgoraLocalUser agora_local_user, String user_id, AgoraRemoteVideoTrack agora_remote_video_track, int state, int reason, int elapsed)在远端视频轨道状态变更时触发。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
user_id | 远端用户 ID。 |
agora_remote_video_track | 一个 AgoraRemoteVideoTrack 对象。 |
state | 当前视频帧状态:
|
reason | 状态改变原因:
|
elapsed | 远端用户连接频道之后经过的时间(毫秒)。 |
onUserVideoTrackSubscribed()
void io.agora.rtc.ILocalUserObserver.onUserVideoTrackSubscribed(AgoraLocalUser agora_local_user, String user_id, VideoTrackInfo info, AgoraRemoteVideoTrack agora_remote_video_track)成功订阅远端用户发送的视频流时触发。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
user_id | 发送视频帧的远端用户 ID。 |
info | 视频轨道信息。 |
agora_remote_video_track | An AgoraRemoteVideoTrack 对象. |
onVideoPublishStateChanged()
void io.agora.rtc.ILocalUserObserver.onVideoPublishStateChanged(AgoraLocalUser agora_local_user, String channel, int old_state, int new_state, int elapse_since_last_state)视频发布状态变更后触发。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
channel | 用户所在频道的频道名。 |
old_state | 之前的发布状态:
|
new_state | 新的发布状态:
|
elapse_since_last_state | 变更为新状态之后的时长(毫秒)。 |
onVideoSubscribeStateChanged()
void io.agora.rtc.ILocalUserObserver.onVideoSubscribeStateChanged(AgoraLocalUser agora_local_user, String channel, String user_id, int old_state, int new_state, int elapse_since_last_state)对远端用户视频订阅状态变更时触发。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
channel | 用户所在频道的频道名。 |
user_id | 订阅的远端用户的 ID。 |
old_state | 之前的订阅状态:
|
new_state | 新的订阅状态:
|
elapse_since_last_state | 变更为新状态之后的时长(毫秒)。 |
onVideoTrackPublishSuccess()
void io.agora.rtc.ILocalUserObserver.onVideoTrackPublishSuccess(AgoraLocalUser agora_local_user, AgoraLocalVideoTrack agora_local_video_track)在第一个本地视频包发送时触发,表明本地音视频轨道已成功发布。
| 参数名 | 描述 |
|---|---|
agora_local_user | 一个 AgoraLocalUser 对象。 |
agora_local_video_track | 一个 AgoraLocalVideoTrack 对象。 |
该接口的文档由以下文件生成:
- ILocalUserObserver.java