Inherits io.agora.rtc2.IAgoraEventHandler.
Inherited by io.agora.rtc2.IRtcEngineEventHandlerEx.
Classes | |
class | AudioVolumeInfo |
class | ClientRole |
class | ErrorCode |
class | LastmileProbeResult |
enum | LOCAL_AUDIO_STREAM_ERROR |
enum | LOCAL_AUDIO_STREAM_STATE |
class | LocalAudioStats |
class | LocalVideoStats |
class | NetworkInfo |
class | Quality |
enum | REMOTE_AUDIO_STATE |
enum | REMOTE_AUDIO_STATE_REASON |
class | RemoteAudioStats |
class | RemoteVideoStats |
class | RtcStats |
enum | RTMP_STREAM_PUBLISH_ERROR |
enum | RTMP_STREAM_PUBLISH_STATE |
class | UserOfflineReason |
class | VideoProfile |
class | WarnCode |
Public Member Functions | |
void | onJoinChannelSuccess (String channel, int userId, int elapsed) |
void | onRejoinChannelSuccess (String channel, int userId, int elapsed) |
void | onApiCallExecuted (int error, String api, String result) |
void | onLeaveChannel (RtcStats stats) |
void | onRtcStats (RtcStats stats) |
void | onAudioVolumeIndication (AudioVolumeInfo[] speakers, int totalVolume) |
void | onNetworkQuality (int uid, int txQuality, int rxQuality) |
void | onLastmileProbeResult (LastmileProbeResult result) |
void | onUserJoined (int userId, int elapsed) |
void | onUserOffline (int userId, int reason) |
void | onConnectionStateChanged (int state, int reason) |
void | onLocalVideoStat (int sentBitrate, int sentFrameRate) |
void | onRemoteVideoStat (int uid, int delay, int receivedBitrate, int receivedFrameRate) |
void | onRemoteVideoStats (RemoteVideoStats stats) |
void | onLocalVideoStats (LocalVideoStats stats) |
void | onRemoteAudioStats (RemoteAudioStats stats) |
void | onLocalAudioStats (IRtcEngineEventHandler.LocalAudioStats stats) |
void | onConnectionLost () |
void | onConnectionInterrupted () |
void | onConnectionBanned () |
void | onChannelMediaRelayStateChanged (int state, int code) |
void | onChannelMediaRelayEvent (int code) |
void | onStreamMessage (int userId, int streamId, byte[] data) |
void | onLocalVideoStateChanged (int state, int error) |
void | onRemoteVideoStateChanged (int uid, int state, int reason, int elapsed) |
void | onStreamMessageError (int uid, int streamId, int error, int missed, int cached) |
void | onRequestToken () |
void | onAudioRouteChanged (int routing) |
void | onFirstLocalAudioFramePublished (int elapsed) |
void | onLocalAudioStateChanged (LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) |
void | onRemoteAudioStateChanged (int uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) |
void | onClientRoleChanged (int oldRole, int newRole) |
void | onRtmpStreamingStateChanged (String url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode) |
void | onTokenPrivilegeWillExpire (String token) |
void | onAudioMixingStateChanged (int state, int errorCode) |
Public Member Functions inherited from io.agora.rtc2.IAgoraEventHandler | |
void | onLocalAudioStats (IRtcEngineEventHandler.LocalAudioStats stats) |
Callback methods.
The SDK uses the IRtcEngineEventHandler interface class to send callback event notifications to the application, and the application inherits the methods of this interface class to retrieve these event notifications. All methods in this interface class have their (empty) default implementations, and the application can inherit only some of the required events instead of all of them. In the callback methods, the application should avoid time-consuming tasks or call blocking APIs (such as SendMessage), otherwise, the SDK may not work properly.
void io.agora.rtc2.IRtcEngineEventHandler.onJoinChannelSuccess | ( | String | channel, |
int | userId, | ||
int | elapsed | ||
) |
Occurs when the local user successfully joins the specified channel.
channel | The channel name. |
userId | The user ID.
|
elapsed | The time elapsed (ms) from the local user calling joinChannel until this event occurs. |
void io.agora.rtc2.IRtcEngineEventHandler.onRejoinChannelSuccess | ( | String | channel, |
int | userId, | ||
int | elapsed | ||
) |
Occurs when the local user rejoins the channel after being disconnected due to network problems.
When the app loses connection with the server because of network problems, the SDK automatically tries to reconnect to the server, and triggers this callback method upon reconnection.
channel | The channel name. |
userId | The user ID. |
elapsed | The time elapsed (ms) from the local user calling joinChannel until this event occurs. |
void io.agora.rtc2.IRtcEngineEventHandler.onApiCallExecuted | ( | int | error, |
String | api, | ||
String | result | ||
) |
Occurs when an API method is executed.
error | The error code that the SDK returns when the method call fails. |
api | The API method that the SDK executes. |
result | The result of the method call. |
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onLeaveChannel | ( | RtcStats | stats | ) |
Occurs when the local user successfully leaves the channel.
When the user successfully leaves the channel after calling leaveChannel, the SDK uses this callback to notify the app that the user has left the channel.
This callback also reports information such as the call duration and the statistics of data received or transmitted by the SDK.
stats | The statistics on the call: RtcStats. |
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onRtcStats | ( | RtcStats | stats | ) |
Reports the statistics of the current call.
This callback is triggered once every two seconds after the user joins the channel.
stats | The statistics on the current call: RtcStats. |
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onAudioVolumeIndication | ( | AudioVolumeInfo[] | speakers, |
int | totalVolume | ||
) |
Reports which users are speaking and the speaker‘s volume.
This callback reports the IDs and volumes of the loudest speakers (at most 3) at the moment in the channel, and whether the local user is speaking. Once enabled, this callback is triggered at the set interval, regardless of whether a user speaks or not.
The SDK triggers two independent onAudioVolumeIndication
callbacks at one time, which separately report the volume information of the local user and all the remote speakers. For more information, see the detailed parameter descriptions.
Calling the muteLocalAudioStream method affects the SDK's behavior.
muteLocalAudioStream
method, the SDK stops triggering the local user's callback.muteLocalAudioStream
method, the remote speakers' callback does not include information of this remote user; 20 seconds after all remote users call the muteLocalAudioStream
method, the SDK stops triggering the remote speakers' callback.speakers | An array containing the user ID and volume information for each speaker: AudioVolumeInfo.
|
totalVolume | The total volume after audio mixing. The value ranges between 0 (the lowest volume) and 255 (the highest volume).
|
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onNetworkQuality | ( | int | uid, |
int | txQuality, | ||
int | rxQuality | ||
) |
Reports the network quality of each user.
This callback is triggered once every two seconds after the user joins the channel.
uid | User ID. If uid is 0, the SDK reports the local network quality. |
txQuality | The transmission quality of the user:
|
rxQuality | The receiving quality of the user:
|
void io.agora.rtc2.IRtcEngineEventHandler.onLastmileProbeResult | ( | LastmileProbeResult | result | ) |
Reports the lastmile network probe result.
The SDK triggers this callback within 30 seconds after the app calls the startLastmileProbeTest method.
result | The uplink and downlink lastmile network probe test result. For details, see LastmileProbeResult. |
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onUserJoined | ( | int | userId, |
int | elapsed | ||
) |
Occurs when a remote user or broadcaster joins the channel.
If other users are already in the channel, the SDK also reports to the app on the existing users.
The SDK triggers this callback under one of the following circumstances:
userId | ID of the remote user or broadcaster joining the channel. |
elapsed | The time elapsed (ms) from the local user calling joinChannel or setClientRole until this callback is triggered. |
void io.agora.rtc2.IRtcEngineEventHandler.onUserOffline | ( | int | userId, |
int | reason | ||
) |
Occurs when a remote user or broadcaster goes offline.
userId | ID of the remote user or broadcaster who leaves the channel or drops offline. |
reason | The reason why the remote user goes offline:
|
void io.agora.rtc2.IRtcEngineEventHandler.onConnectionStateChanged | ( | int | state, |
int | reason | ||
) |
Occurs when the network connection state changes.
The Agora SDK returns this callback to report on the current network connection state when it changes, and the reason to such change.
state | The current network connection state:
|
reason | The reason causing the change of the connection state:
|
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onLocalVideoStat | ( | int | sentBitrate, |
int | sentFrameRate | ||
) |
sentBitrate | Data sending bitrate (kbit/s) since last count. |
sentFrameRate | Data sending frame rate (fps) since last count. |
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onRemoteVideoStat | ( | int | uid, |
int | delay, | ||
int | receivedBitrate, | ||
int | receivedFrameRate | ||
) |
uid | User ID of the user whose video streams are received. |
delay | Time delay (ms). |
receivedBitrate | Data receiving bitrate (kbit/s). |
receivedFrameRate | Data receiving frame rate (fps). |
void io.agora.rtc2.IRtcEngineEventHandler.onRemoteVideoStats | ( | RemoteVideoStats | stats | ) |
Reports the statistics of the video stream from each remote user/host.
The SDK triggers this callback once every two seconds for each remote user/host. If a channel includes multiple remote users, the SDK triggers this callback as many times.
stats | The statistics of the remote video streams. See RemoteVideoStats. |
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onLocalVideoStats | ( | LocalVideoStats | stats | ) |
Reports the statistics of the local video streams.
The SDK triggers this callback once every two seconds for each user/host. If there are multiple users/hosts in the channel, the SDK triggers this callback as many times.
stats | The statistics of the local video stream. See LocalVideoStats. |
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onRemoteAudioStats | ( | RemoteAudioStats | stats | ) |
Reports the statistics of the audio from each remote user or broadcaster.
The SDK triggers this callback once every two seconds for each remote user or broadcaster. If a channel has multiple remote users, the SDK triggers this callback as many times.
stats | The statistics of the received audio: RemoteAudioStats. |
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onLocalAudioStats | ( | IRtcEngineEventHandler.LocalAudioStats | stats | ) |
Reports the statistics of the local audio stream.
The SDK triggers this callback once every two seconds.
stats | The statistics of the local audio stream. See LocalAudioStats. |
void io.agora.rtc2.IRtcEngineEventHandler.onConnectionLost | ( | ) |
Occurs when the SDK cannot reconnect to the server 10 seconds after its connection to the server is interrupted.
The SDK triggers this callback when it cannot connect to the server 10 seconds after calling joinChannel, regardless of whether it is in the channel or not.
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onConnectionInterrupted | ( | ) |
The SDK has lost connection to the server. This method is triggered upon connection is lost, while the onConnectionLost method is triggered when the SDK attempts to reconnect after losing connection. Once the connection is lost, and if the application does not call leaveChannel, the SDK automatically tries to reconnect repeatedly.
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onConnectionBanned | ( | ) |
Your connection is banned by the Agora Server.
Note: The SDK does not try to reconnect.
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onChannelMediaRelayStateChanged | ( | int | state, |
int | code | ||
) |
Occurs when the state of the media stream relay changes.
The SDK reports the state of the current media relay and possible error messages in this callback.
state | The state code:
|
code | The error code:
|
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onChannelMediaRelayEvent | ( | int | code | ) |
Reports events during the media stream relay.
code | The event code for media stream relay:
|
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onStreamMessage | ( | int | userId, |
int | streamId, | ||
byte[] | data | ||
) |
Receives the data stream.
The SDK triggers this callback when the user receives the data stream that another user sends by calling the sendStreamMessage method within 5 seconds.
userId | User ID. |
streamId | Stream ID. |
data | Data received by the recipients. |
void io.agora.rtc2.IRtcEngineEventHandler.onLocalVideoStateChanged | ( | int | state, |
int | error | ||
) |
Occurs when the local video stream state changes.
This callback indicates the state of the local video stream, including camera capturing and video encoding, and allows you to troubleshoot issues when exceptions occur.
state | The local video state:
|
error | The detailed error information of the local video:
|
void io.agora.rtc2.IRtcEngineEventHandler.onRemoteVideoStateChanged | ( | int | uid, |
int | state, | ||
int | reason, | ||
int | elapsed | ||
) |
Occurs when the remote video state has changed.
COMMUNICATION
profile) or hosts (in the LIVE_BROADCASTING
profile) in the channel exceeds 17.uid | ID of the user whose video state has changed. |
state | State of the remote video:
|
reason | The reason of the remote video state change:
|
elapsed | The time elapsed (ms) from the local user calling joinChannel until this callback is triggered. |
void io.agora.rtc2.IRtcEngineEventHandler.onStreamMessageError | ( | int | uid, |
int | streamId, | ||
int | error, | ||
int | missed, | ||
int | cached | ||
) |
Fails to receive the data stream.
The SDK triggers this callback when the user does not receive the data stream that another user sends by calling the sendStreamMessage method within 5 seconds.
uid | ID of the user who sends the data stream. |
streamId | The ID of the stream data. |
error | The error code. See Error code. |
missed | The number of lost messages. |
cached | The number of incoming cached messages when the data stream is interrupted. |
void io.agora.rtc2.IRtcEngineEventHandler.onRequestToken | ( | ) |
Occurs when the token has expired.
If a token is specified when calling the joinChannel method, the token expires after a certain period of time and you need a new token to reconnect to the server.
Upon receiving this callback, generate a new token at your app server and call renewToken to pass the new token to the SDK.
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onAudioRouteChanged | ( | int | routing | ) |
Occurs when the local audio playback route changes.
This callback returns that the audio route switched to an earpiece, speakerphone, headset, or Bluetooth device.
The definition of the routing is listed as follows:
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onFirstLocalAudioFramePublished | ( | int | elapsed | ) |
Occurs when the first audio frame is published.
elapsed | The time elapsed (ms) from the local user calling joinChannel to the SDK triggers this callback. |
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onLocalAudioStateChanged | ( | LOCAL_AUDIO_STREAM_STATE | state, |
LOCAL_AUDIO_STREAM_ERROR | error | ||
) |
Occurs when the local audio stream state changes.
This callback indicates the state change of the local audio stream, including the state of the audio recording and encoding, and allows you to troubleshoot issues when exceptions occur.
LOCAL_AUDIO_STREAM_STATE_FAILED(3)
, see the error
parameter for details.state | State of the local audio:
|
error | The error information of the local audio:
|
void io.agora.rtc2.IRtcEngineEventHandler.onRemoteAudioStateChanged | ( | int | uid, |
REMOTE_AUDIO_STATE | state, | ||
REMOTE_AUDIO_STATE_REASON | reason, | ||
int | elapsed | ||
) |
Occurs when the remote audio state changes.
This callback indicates the state change of the remote audio stream.
uid | ID of the user whose audio state changes. |
state | The state of the remote audio:
|
reason | The reason of the remote audio state change.
|
elapsed | Time elapsed (ms) from the local user calling the joinChannel method until the SDK triggers this callback. |
void io.agora.rtc2.IRtcEngineEventHandler.onClientRoleChanged | ( | int | oldRole, |
int | newRole | ||
) |
Occurs when the user role in a Live-Broadcast channel has switched, for example, from a broadcaster to an audience or vice versa.
oldRole | The old role of the user. |
newRole | The new role of the user |
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onRtmpStreamingStateChanged | ( | String | url, |
RTMP_STREAM_PUBLISH_STATE | state, | ||
RTMP_STREAM_PUBLISH_ERROR | errCode | ||
) |
Occurs when the state of the RTMP streaming changes.
url | The RTMP URL address. |
state | The RTMP streaming state. See RTMP_STREAM_PUBLISH_STATE. |
errCode | The detailed error information for streaming. See RTMP_STREAM_PUBLISH_ERROR. |
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onTokenPrivilegeWillExpire | ( | String | token | ) |
Occurs when the token will expire in 30 seconds.
If the token you specified when calling joinChannel expires, the user will drop offline. This callback is triggered 30 seconds before the token expires, to remind you to renew the token.
Upon receiving this callback, generate a new token at your app server and call renewToken to pass the new Token to the SDK.
token | The token that will expire in 30 seconds. |
Implements io.agora.rtc2.IAgoraEventHandler.
void io.agora.rtc2.IRtcEngineEventHandler.onAudioMixingStateChanged | ( | int | state, |
int | errorCode | ||
) |
Occurs when the state of the local user's audio mixing file changes.
When you call the startAudioMixing method and the state of audio mixing file changes, the Agora SDK triggers this callback.
state | The state code:
|
errorCode | The error code:
|
Implements io.agora.rtc2.IAgoraEventHandler.