io.agora.rtc.ILocalUserObserver接口 参考
ILocalUserObserver
接口。
成员函数说明
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 对象。 |