AudioRecordingConfiguration

Recording configurations.

struct AudioRecordingConfiguration {
  const char* filePath;
  bool encode;
  int sampleRate;
  AUDIO_FILE_RECORDING_TYPE fileRecordingType;
  AUDIO_RECORDING_QUALITY_TYPE quality;
  int recordingChannel;

  AudioRecordingConfiguration()
    : filePath(NULL),
      encode(false),
      sampleRate(32000),
      fileRecordingType(AUDIO_FILE_RECORDING_MIXED),
      quality(AUDIO_RECORDING_QUALITY_LOW),
      recordingChannel(1) {}

  AudioRecordingConfiguration(const char* file_path, int sample_rate, AUDIO_RECORDING_QUALITY_TYPE quality_type)
    : filePath(file_path),
      encode(false),
      sampleRate(sample_rate),
      fileRecordingType(AUDIO_FILE_RECORDING_MIXED),
      quality(quality_type),
      recordingChannel(channel) {}

  AudioRecordingConfiguration(const char* file_path, bool enc, int sample_rate, AUDIO_FILE_RECORDING_TYPE type, AUDIO_RECORDING_QUALITY_TYPE quality_type)
    : filePath(file_path),
      encode(enc),
      sampleRate(sample_rate),
      fileRecordingType(type),
      quality(quality_type),
      recordingChannel(channel) {}

  AudioRecordingConfiguration(const AudioRecordingConfiguration &rhs)
    : filePath(rhs.filePath),
      encode(rhs.encode),
      sampleRate(rhs.sampleRate),
      fileRecordingType(rhs.fileRecordingType),
      quality(rhs.quality),
      recordingChannel(rhs.recordingChannel) {}
};

Attributes

filePath
The absolute path (including the filename extensions) of the recording file. For example: C:\music\audio.aac.
Attention:

Ensure that the directory for the log files exists and is writable.

encode
Whether to encode the audio data:
  • true: Encode audio data in AAC.
  • false: (Default) Do not encode audio data, but save the recorded audio data directly.
sampleRate
Recording sample rate (Hz).
  • 16000
  • (Default) 32000
  • 44100
  • 48000
Attention:

If you set this parameter to 44100 or 48000, Agora recommends recording WAV files, or AAC files with quality set as AUDIO_RECORDING_QUALITY_MEDIUM or AUDIO_RECORDING_QUALITY_HIGH for better recording quality.

fileRecordingType

The recording content. See AUDIO_FILE_RECORDING_TYPE.

quality

Recording quality. See AUDIO_RECORDING_QUALITY_TYPE.

Attention:

This parameter applies to AAC files only.

recordingChannel
The audio channel of recording: The parameter supports the following values:
  • 1: (Default) Mono.
  • 2: Stereo.
Note:
The actual recorded audio channel is related to the audio channel that you capture.
  • If the captured audio is mono and recordingChannel is 2, the recorded audio is the dual-channel data that is copied from mono data, not stereo.
  • If the captured audio is dual channel and recordingChannel is 1, the recorded audio is the mono data that is mixed by dual-channel data.
The integration scheme also affects the final recorded audio channel. If you need to record in stereo, contact technical support.