Handling Meet events
Listening to the meet events#
In order to listen to the meet events you need to set listener to the call sdk using the below method
| Argument | Type | Description | 
|---|---|---|
| CALLBACK | CallEventsListener | listener to observe all the meet events | 
- Java
- Kotlin
Inorder to remove the meet events listener call the method below:
| Argument | Type | Description | 
|---|---|---|
| listener | CallEventsListener | listener to observe all the meet events | 
- Java
- Kotlin
Handling mute events#
Whenever meet end user mute/unmute video or audio, the below callback will be triggered.
- Java
- Kotlin
muteEvent value will be anyone of the values of annotation class MuteEvent.
| muteEvent Value | Call event | 
|---|---|
| MuteEvent.ACTION_REMOTE_VIDEO_MUTE | when the remote user mutedhisvideo | 
| MuteEvent.ACTION_REMOTE_VIDEO_UN_MUTE | when the remote user unmutedhisvideo | 
| MuteEvent.ACTION_REMOTE_AUDIO_MUTE | when the remote user mutedhisaudio | 
| MuteEvent.ACTION_REMOTE_AUDIO_UN_MUTE | when the remote user unmutedhisvideo | 
Handling meet status#
Whenever meet status changed in meet, the below callback will be triggered.
- Java
- Kotlin
callStatus value will be anyone of the values of annotation class CallStatus.
| callStatus Value | Call event | 
|---|---|
| CallStatus.CALLING | the initial state of the call | 
| CallStatus.CONNECTING | The current call is in connecting state | 
| CallStatus.RINGING | the remote user is having internet and acknowledged the call | 
| CallStatus.CONNECTED | the call is successfully connected and audio/video tracks transmission is about to start | 
| CallStatus.DISCONNECTED | the call is disconnected and call UI can be closed | 
| CallStatus.RECONNECTING | the call is in reconnecting state | 
| CallStatus.RECONNECTED | the call is connected back after a reconnecting state | 
| CallStatus.ON_HOLD | the remote user has put your call on hold, it will happedn when the remote user attended gsm call | 
| CallStatus.ON_RESUME | the remote user has resumed your call after a on hold, it will happen when the remote user disconnected gsm call | 
| CallStatus.OUTGOING_CALL_TIME_OUT | when we don't receive ack for the outgoing call from the remote user within 30 seconds | 
| CallStatus.INCOMING_CALL_TIME_OUT | When we don't receive ack for the incoming call from the caller within 30 seconds | 
| CallStatus.USER_JOINED | user is joined to the call | 
| CallStatus.USER_LEFT | user is left from the call | 
| CallStatus.INVITE_CALL_TIME_OUT | When we don't receive ack for the call invite from the invited user within 30 seconds | 
Handling meet action#
Whenever a meet action is received, the below callback will be triggered.
- Java
- Kotlin
callAction value will be anyone of the values of annotation class CallAction.
| callAction Value | Call event | 
|---|---|
| CallAction.ACTION_LOCAL_HANGUP | whenever you disconnect the call, the action will be received | 
| CallAction.ACTION_DENY_CALL | when you decline the incoming call, the action will be received for callee | 
| CallAction.ACTION_PERMISSION_DENIED | when you attend the incoming call without required permissions, the action will be received for the callee | 
| CallAction.ACTION_REMOTE_HANGUP | when the remote user disconnect the connected call, the action will be received for caller | 
| CallAction.ACTION_REMOTE_ENGAGED | when the remote user is engaged in the another call, the action will be received for the caller | 
| CallAction.ACTION_REMOTE_BUSY | when the remote user declines incoming the call, the action will be received for the caller | 
| CallAction.ACTION_AUDIO_DEVICE_CHANGED | whenever the audio device changed in call, update the audio device UI | 
| CallAction.ACTION_REMOTE_OTHER_BUSY | When any one of users is busy in group call | 
| CallAction.ACTION_INVITE_USERS | When you invite users to the call, this will be triggered so that you can update your UI | 
| CallAction.ACTION_VIDEO_CALL_CONVERSION_REJECTED | When remote user declined our video call switch request | 
| CallAction.ACTION_VIDEO_CALL_CONVERSION_ACCEPTED | When remote user accepted our video call switch request | 
| CallAction.ACTION_VIDEO_CALL_CANCEL_CONVERSION | When remote user cancels the video call switch request made by them | 
| CallAction.ACTION_REMOTE_VIDEO_STATUS | When user pause/resume video in group call | 
| CallAction.ACTION_CAMERA_SWITCH_SUCCESS | When camera switch done successfully, the action will be received | 
| CallAction.ACTION_CAMERA_SWITCH_FAILURE | When camera switch error occurs, the action will be received | 
| CallAction.CHANGE_TO_AUDIO_CALL | When ui needs to be changed as audio call ui this action will be received | 
Handling the video track events#
For the video meet, you need to set your local surface view to the below sdk method:
| Argument | Type | Description | 
|---|---|---|
| LOCAL_VIDEO_VIEW | SurfaceViewRenderer | surface view for showing local video | 
- Java
- Kotlin
Whenever video tack is received in video meet, the below callback will be triggered.
- Java
- Kotlin
userJid value will be the end user JID who has sent the video track.
You can get the remote video sink using the code below:
| Argument | Type | Description | 
|---|---|---|
| USER_JID | String | Jid of the remote user | 
| REMOTE_VIDEO_VIEW | SurfaceViewRenderer | surface view for showing remote user video | 
- Java
- Kotlin