The IRecordingEngine class provides the main methods that can be invoked by your application.

Method Description
createAgoraRecordingEngine Creates an IRecordingEngine instance.
joinChannel Allows the recording application to join a channel.
setVideoMixingLayout Sets the video layout in composite recording mode.
stoppedOnError Stops onError handler.
leaveChannel Allows the recording application to leave the channel.
release Releases the IRecordingEngine instance.
getProperties Retrieves the recording properties.
startService Manually starts the recording.
stopService Manually stops the recording.
setUserBackground Sets the user background image.
setLogLevel Sets the log level.


The IRecordingEngineEventHandler class enables callbacks to your application.

Callback Description
onError Occurs when an error occurs during SDK runtime.
onWarning Occurs when a warning occurs during SDK runtime.
onConnectionLost Occurs when the SDK loses connection to the server.
onConnectionInterrupted Occurs when the connection between the SDK and the server is interrupted.
onJoinChannelSuccess Occurs when the recording application joins the specified channel.
onLeaveChannel Occurs when the recording application leaves the channel.
onUserJoined Occurs when a remote user joins the channel.
onUserOffline Occurs when a remote user leaves the channel.
audioFrameReceived Occurs when the raw audio data is received.
videoFrameReceived Occurs when the raw video data is received.
onAudioVolumeIndication Reports the list of users who are speaking and their volumes.
onActiveSpeaker Reports the user who speaks loudest.
onFirstRemoteAudioFrame Occurs when the first remote audio frame is received.
onFirstRemoteVideoDecoded Occurs when the first remote video frame is decoded.
onReceivingStreamStatusChanged Occurs when the status of receiving the audio or video stream changes.