io.agora.rtc

## Interface ILocalUserObserver

- All Known Implementing Classes:
    DefaultLocalUserObserver, LocalUserObserverWrapper

      public interface ILocalUserObserver

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `onActiveSpeaker(AgoraLocalUser agoraLocalUser, java.lang.String userId)`
    `void` | `onAudioMetaDataReceived(AgoraLocalUser agoraLocalUser, java.lang.String userId, byte[] metaData)`
    `void` | `onAudioPublishStateChanged(AgoraLocalUser agoraLocalUser, java.lang.String channel, int oldState, int newState, int elapseSinceLastState)`
    `void` | `onAudioSubscribeStateChanged(AgoraLocalUser agoraLocalUser, java.lang.String channel, java.lang.String userId, int oldState, int newState, int elapseSinceLastState)`
    `void` | `onAudioTrackPublicationFailure(AgoraLocalUser agoraLocalUser, AgoraLocalAudioTrack agoraLocalAudioTrack, int error)`
    `void` | `onAudioTrackPublishStart(AgoraLocalUser agoraLocalUser, AgoraLocalAudioTrack agoraLocalAudioTrack)`
    `void` | `onAudioTrackPublishSuccess(AgoraLocalUser agoraLocalUser, AgoraLocalAudioTrack agoraLocalAudioTrack)`
    `void` | `onAudioTrackUnpublished(AgoraLocalUser agoraLocalUser, AgoraLocalAudioTrack agoraLocalAudioTrack)`
    `void` | `onAudioVolumeIndication(AgoraLocalUser agoraLocalUser, AudioVolumeInfo[] speakers, int totalVolume)`
    `void` | `onFirstRemoteAudioDecoded(AgoraLocalUser agoraLocalUser, java.lang.String userId, int elapsed)`
    `void` | `onFirstRemoteAudioFrame(AgoraLocalUser agoraLocalUser, java.lang.String userId, int elapsed)`
    `void` | `onFirstRemoteVideoDecoded(AgoraLocalUser agoraLocalUser, java.lang.String userId, int width, int height, int elapsed)`
    `void` | `onFirstRemoteVideoFrame(AgoraLocalUser agoraLocalUser, java.lang.String userId, int width, int height, int elapsed)`
    `void` | `onFirstRemoteVideoFrameRendered(AgoraLocalUser agoraLocalUser, java.lang.String userId, int width, int height, int elapsed)`
    `void` | `onIntraRequestReceived(AgoraLocalUser agoraLocalUser)`
    `void` | `onLocalAudioTrackStateChanged(AgoraLocalUser agoraLocalUser, AgoraLocalAudioTrack agoraLocalAudioTrack, int state, int error)`
    `void` | `onLocalAudioTrackStatistics(AgoraLocalUser agoraLocalUser, LocalAudioStats stats)`
    `void` | `onLocalVideoTrackStateChanged(AgoraLocalUser agoraLocalUser, AgoraLocalVideoTrack agoraLocalVideoTrack, int state, int error)`
    `void` | `onLocalVideoTrackStatistics(AgoraLocalUser agoraLocalUser, AgoraLocalVideoTrack agoraLocalVideoTrack, LocalVideoTrackStats stats)`
    `void` | `onRemoteAudioTrackStatistics(AgoraLocalUser agoraLocalUser, AgoraRemoteAudioTrack agoraRemoteAudioTrack, RemoteAudioTrackStats stats)`
    `void` | `onRemoteSubscribeFallbackToAudioOnly(AgoraLocalUser agoraLocalUser, java.lang.String userId, int isFallbackOrRecover)`
    `void` | `onRemoteVideoStreamInfoUpdated(AgoraLocalUser agoraLocalUser, RemoteVideoStreamInfo info)`
    `void` | `onRemoteVideoTrackStatistics(AgoraLocalUser agoraLocalUser, AgoraRemoteVideoTrack agoraRemoteVideoTrack, RemoteVideoTrackStats stats)`
    `void` | `onStreamMessage(AgoraLocalUser agoraLocalUser, java.lang.String userId, int streamId, java.lang.String data, long length)`
    `void` | `onUserAudioTrackStateChanged(AgoraLocalUser agoraLocalUser, java.lang.String userId, AgoraRemoteAudioTrack agoraRemoteAudioTrack, int state, int reason, int elapsed)`
    `void` | `onUserAudioTrackSubscribed(AgoraLocalUser agoraLocalUser, java.lang.String userId, AgoraRemoteAudioTrack agoraRemoteAudioTrack)`
    `void` | `onUserInfoUpdated(AgoraLocalUser agoraLocalUser, java.lang.String userId, int msg, int val)`
    `void` | `onUserStateChanged(AgoraLocalUser agoraLocalUser, java.lang.String userId, int state)`
    `void` | `onUserVideoTrackStateChanged(AgoraLocalUser agoraLocalUser, java.lang.String userId, AgoraRemoteVideoTrack agoraRemoteVideoTrack, int state, int reason, int elapsed)`
    `void` | `onUserVideoTrackSubscribed(AgoraLocalUser agoraLocalUser, java.lang.String userId, VideoTrackInfo info, AgoraRemoteVideoTrack agoraRemoteVideoTrack)`
    `void` | `onVideoPublishStateChanged(AgoraLocalUser agoraLocalUser, java.lang.String channel, int oldState, int newState, int elapseSinceLastState)`
    `void` | `onVideoSizeChanged(AgoraLocalUser agoraLocalUser, java.lang.String userId, int width, int height, int rotation)`
    `void` | `onVideoSubscribeStateChanged(AgoraLocalUser agoraLocalUser, java.lang.String channel, java.lang.String userId, int oldState, int newState, int elapseSinceLastState)`
    `void` | `onVideoTrackPublicationFailure(AgoraLocalUser agoraLocalUser, AgoraLocalVideoTrack agoraLocalVideoTrack, int error)`
    `void` | `onVideoTrackPublishStart(AgoraLocalUser agoraLocalUser, AgoraLocalVideoTrack agoraLocalVideoTrack)`
    `void` | `onVideoTrackPublishSuccess(AgoraLocalUser agoraLocalUser, AgoraLocalVideoTrack agoraLocalVideoTrack)`
    `void` | `onVideoTrackUnpublished(AgoraLocalUser agoraLocalUser, AgoraLocalVideoTrack agoraLocalVideoTrack)`

- - ### Method Detail

    - #### onAudioTrackPublishSuccess

          void onAudioTrackPublishSuccess(AgoraLocalUser agoraLocalUser,
                                          AgoraLocalAudioTrack agoraLocalAudioTrack)

    - #### onAudioTrackPublicationFailure

          void onAudioTrackPublicationFailure(AgoraLocalUser agoraLocalUser,
                                              AgoraLocalAudioTrack agoraLocalAudioTrack,
                                              int error)

    - #### onLocalAudioTrackStateChanged

          void onLocalAudioTrackStateChanged(AgoraLocalUser agoraLocalUser,
                                             AgoraLocalAudioTrack agoraLocalAudioTrack,
                                             int state,
                                             int error)

    - #### onLocalAudioTrackStatistics

          void onLocalAudioTrackStatistics(AgoraLocalUser agoraLocalUser,
                                           LocalAudioStats stats)

    - #### onRemoteAudioTrackStatistics

          void onRemoteAudioTrackStatistics(AgoraLocalUser agoraLocalUser,
                                            AgoraRemoteAudioTrack agoraRemoteAudioTrack,
                                            RemoteAudioTrackStats stats)

    - #### onUserAudioTrackSubscribed

          void onUserAudioTrackSubscribed(AgoraLocalUser agoraLocalUser,
                                          java.lang.String userId,
                                          AgoraRemoteAudioTrack agoraRemoteAudioTrack)

    - #### onUserAudioTrackStateChanged

          void onUserAudioTrackStateChanged(AgoraLocalUser agoraLocalUser,
                                            java.lang.String userId,
                                            AgoraRemoteAudioTrack agoraRemoteAudioTrack,
                                            int state,
                                            int reason,
                                            int elapsed)

    - #### onAudioSubscribeStateChanged

          void onAudioSubscribeStateChanged(AgoraLocalUser agoraLocalUser,
                                            java.lang.String channel,
                                            java.lang.String userId,
                                            int oldState,
                                            int newState,
                                            int elapseSinceLastState)

    - #### onAudioPublishStateChanged

          void onAudioPublishStateChanged(AgoraLocalUser agoraLocalUser,
                                          java.lang.String channel,
                                          int oldState,
                                          int newState,
                                          int elapseSinceLastState)

    - #### onFirstRemoteAudioFrame

          void onFirstRemoteAudioFrame(AgoraLocalUser agoraLocalUser,
                                       java.lang.String userId,
                                       int elapsed)

    - #### onFirstRemoteAudioDecoded

          void onFirstRemoteAudioDecoded(AgoraLocalUser agoraLocalUser,
                                         java.lang.String userId,
                                         int elapsed)

    - #### onVideoTrackPublishSuccess

          void onVideoTrackPublishSuccess(AgoraLocalUser agoraLocalUser,
                                          AgoraLocalVideoTrack agoraLocalVideoTrack)

    - #### onVideoTrackPublicationFailure

          void onVideoTrackPublicationFailure(AgoraLocalUser agoraLocalUser,
                                              AgoraLocalVideoTrack agoraLocalVideoTrack,
                                              int error)

    - #### onLocalVideoTrackStateChanged

          void onLocalVideoTrackStateChanged(AgoraLocalUser agoraLocalUser,
                                             AgoraLocalVideoTrack agoraLocalVideoTrack,
                                             int state,
                                             int error)

    - #### onLocalVideoTrackStatistics

          void onLocalVideoTrackStatistics(AgoraLocalUser agoraLocalUser,
                                           AgoraLocalVideoTrack agoraLocalVideoTrack,
                                           LocalVideoTrackStats stats)

    - #### onUserVideoTrackSubscribed

          void onUserVideoTrackSubscribed(AgoraLocalUser agoraLocalUser,
                                          java.lang.String userId,
                                          VideoTrackInfo info,
                                          AgoraRemoteVideoTrack agoraRemoteVideoTrack)

    - #### onUserVideoTrackStateChanged

          void onUserVideoTrackStateChanged(AgoraLocalUser agoraLocalUser,
                                            java.lang.String userId,
                                            AgoraRemoteVideoTrack agoraRemoteVideoTrack,
                                            int state,
                                            int reason,
                                            int elapsed)

    - #### onRemoteVideoTrackStatistics

          void onRemoteVideoTrackStatistics(AgoraLocalUser agoraLocalUser,
                                            AgoraRemoteVideoTrack agoraRemoteVideoTrack,
                                            RemoteVideoTrackStats stats)

    - #### onAudioVolumeIndication

          void onAudioVolumeIndication(AgoraLocalUser agoraLocalUser,
                                       AudioVolumeInfo[] speakers,
                                       int totalVolume)

    - #### onActiveSpeaker

          void onActiveSpeaker(AgoraLocalUser agoraLocalUser,
                               java.lang.String userId)

    - #### onRemoteVideoStreamInfoUpdated

          void onRemoteVideoStreamInfoUpdated(AgoraLocalUser agoraLocalUser,
                                              RemoteVideoStreamInfo info)

    - #### onVideoSubscribeStateChanged

          void onVideoSubscribeStateChanged(AgoraLocalUser agoraLocalUser,
                                            java.lang.String channel,
                                            java.lang.String userId,
                                            int oldState,
                                            int newState,
                                            int elapseSinceLastState)

    - #### onVideoPublishStateChanged

          void onVideoPublishStateChanged(AgoraLocalUser agoraLocalUser,
                                          java.lang.String channel,
                                          int oldState,
                                          int newState,
                                          int elapseSinceLastState)

    - #### onFirstRemoteVideoFrame

          void onFirstRemoteVideoFrame(AgoraLocalUser agoraLocalUser,
                                       java.lang.String userId,
                                       int width,
                                       int height,
                                       int elapsed)

    - #### onFirstRemoteVideoDecoded

          void onFirstRemoteVideoDecoded(AgoraLocalUser agoraLocalUser,
                                         java.lang.String userId,
                                         int width,
                                         int height,
                                         int elapsed)

    - #### onFirstRemoteVideoFrameRendered

          void onFirstRemoteVideoFrameRendered(AgoraLocalUser agoraLocalUser,
                                               java.lang.String userId,
                                               int width,
                                               int height,
                                               int elapsed)

    - #### onVideoSizeChanged

          void onVideoSizeChanged(AgoraLocalUser agoraLocalUser,
                                  java.lang.String userId,
                                  int width,
                                  int height,
                                  int rotation)

    - #### onUserInfoUpdated

          void onUserInfoUpdated(AgoraLocalUser agoraLocalUser,
                                 java.lang.String userId,
                                 int msg,
                                 int val)

    - #### onIntraRequestReceived

          void onIntraRequestReceived(AgoraLocalUser agoraLocalUser)

    - #### onRemoteSubscribeFallbackToAudioOnly

          void onRemoteSubscribeFallbackToAudioOnly(AgoraLocalUser agoraLocalUser,
                                                    java.lang.String userId,
                                                    int isFallbackOrRecover)

    - #### onStreamMessage

          void onStreamMessage(AgoraLocalUser agoraLocalUser,
                               java.lang.String userId,
                               int streamId,
                               java.lang.String data,
                               long length)

    - #### onUserStateChanged

          void onUserStateChanged(AgoraLocalUser agoraLocalUser,
                                  java.lang.String userId,
                                  int state)

    - #### onAudioTrackPublishStart

          void onAudioTrackPublishStart(AgoraLocalUser agoraLocalUser,
                                        AgoraLocalAudioTrack agoraLocalAudioTrack)

    - #### onAudioTrackUnpublished

          void onAudioTrackUnpublished(AgoraLocalUser agoraLocalUser,
                                       AgoraLocalAudioTrack agoraLocalAudioTrack)

    - #### onVideoTrackPublishStart

          void onVideoTrackPublishStart(AgoraLocalUser agoraLocalUser,
                                        AgoraLocalVideoTrack agoraLocalVideoTrack)

    - #### onVideoTrackUnpublished

          void onVideoTrackUnpublished(AgoraLocalUser agoraLocalUser,
                                       AgoraLocalVideoTrack agoraLocalVideoTrack)

    - #### onAudioMetaDataReceived

          void onAudioMetaDataReceived(AgoraLocalUser agoraLocalUser,
                                       java.lang.String userId,
                                       byte[] metaData)