Video SDK v3.7.1 API Reference for Unity
Public Member Functions | List of all members
agora_gaming_rtc.MediaRecorder Class Reference

Inherits agora_gaming_rtc.IMediaRecorder.

Public Member Functions

delegate void OnRecorderStateChangedHandler (RecorderState state, RecorderErrorCode error)
delegate void OnRecorderInfoUpdatedHandler (RecorderInfo info)
override int StartRecording (MediaRecorderConfiguration config)
override int StopRecording ()
override void InitMediaRecorderObserver ()

Detailed Description

The MediaRecorder class, for recording the audio and video on the client. IMediaRecorder can record the following content:

Since v3.6.1.1

In the COMMUNICATION channel profile, this function is unavailable when there are users using versions of the SDK earlier than v3.0.1 in the channel.

Member Function Documentation

◆ OnRecorderStateChangedHandler()

delegate void agora_gaming_rtc.MediaRecorder.OnRecorderStateChangedHandler ( RecorderState  state,
RecorderErrorCode  error 

Occurs when the recording state changes.


When the local audio and video recording state changes, the SDK triggers this callback to report the current recording state and the reason for the change.

stateThe current recording state. See RecorderState.
errorThe reason for the state change. See RecorderErrorCode.

◆ OnRecorderInfoUpdatedHandler()

delegate void agora_gaming_rtc.MediaRecorder.OnRecorderInfoUpdatedHandler ( RecorderInfo  info)

Occurs when the recording information is updated.


After you successfully register this callback and enable the local audio and video recording, the SDK periodically triggers the OnRecorderInfoUpdatedHandler callback based on the set value of recorderInfoUpdateInterval. This callback reports the filename, duration, and size of the current recording file.

infoInformation for the recording file. See RecorderInfo.

◆ GetInstance()

static MediaRecorder agora_gaming_rtc.MediaRecorder.GetInstance ( IRtcEngine  rtcEngine)

◆ StartRecording()

override int agora_gaming_rtc.MediaRecorder.StartRecording ( MediaRecorderConfiguration  config)

Starts recording the local audio and video.


After successfully getting the object, you can call this method to enable the recording of the local audio and video.

This method can record the following content:

  • The audio captured by the local microphone and encoded in AAC format.
  • The video captured by the local camera and encoded by the SDK.

The SDK can generate a recording file only when it detects the recordable audio and video streams; when there are no audio and video streams to be recorded or the audio and video streams are interrupted for more than five seconds, the SDK stops recording and triggers the OnRecorderStateChangedHandler(RECORDER_STATE_ERROR, RECORDER_ERROR_NO_STREAM) callback.

Call this method after joining the channel.
configThe recording configurations. See MediaRecorderConfiguration.
  • 0(ERR_OK): Success.
  • < 0: Failure:
    • -2(ERR_INVALID_ARGUMENT): The parameter is invalid. Ensure the following:
      • The specified path of the recording file exists and is writable.
      • The specified format of the recording file is supported.
      • The maximum recording duration is correctly set.
    • -4(ERR_NOT_SUPPORTED): IRtcEngine does not support the request due to one of the following reasons:
      • The recording is ongoing.
      • The recording stops because an error occurs.
    • -7(ERR_NOT_INITIALIZED): This method is called before the initialization of IRtcEngine. Ensure that you have called GetMediaRecorder before calling StartRecording.

Implements agora_gaming_rtc.IMediaRecorder.

◆ StopRecording()

override int agora_gaming_rtc.MediaRecorder.StopRecording ( )

Stops recording the local audio and video.

Call this method after calling StartRecording.
  • 0(ERR_OK): Success.
  • < 0: Failure.

Implements agora_gaming_rtc.IMediaRecorder.

◆ InitMediaRecorderObserver()

override void agora_gaming_rtc.MediaRecorder.InitMediaRecorderObserver ( )

Initializes the media recorder observer object.

This method should be called after you implement the OnRecorderStateChangedHandler and OnRecorderInfoUpdatedHandler callbacks and before you call StartRecording.

Implements agora_gaming_rtc.IMediaRecorder.

Member Data Documentation

◆ _OnRecorderStateChanged

OnRecorderStateChangedHandler agora_gaming_rtc.MediaRecorder._OnRecorderStateChanged

◆ _OnRecorderInfoUpdated

OnRecorderInfoUpdatedHandler agora_gaming_rtc.MediaRecorder._OnRecorderInfoUpdated

The documentation for this class was generated from the following file: