AudioFrame

Raw audio data.

  struct AudioFrame {
    AUDIO_FRAME_TYPE type;
    int samplesPerChannel;
    agora::rtc::BYTES_PER_SAMPLE bytesPerSample;
    int channels;
    int samplesPerSec;
    void* buffer;
    int64_t renderTimeMs;
    int avsync_type;

    AudioFrame() : type(FRAME_TYPE_PCM16),
                   samplesPerChannel(0),
                   bytesPerSample(rtc::TWO_BYTES_PER_SAMPLE),
                   channels(0),
                   samplesPerSec(0),
                   buffer(NULL),
                   renderTimeMs(0),
                   avsync_type(0),
  };

Attributes

type

The type of the audio frame. See AUDIO_FRAME_TYPE.

samplesPerChannel
The number of samples per channel in the audio frame.
bytesPerSample
The number of bytes per sample. For PCM, this parameter is generally set to 16 bits (2 bytes).
channels
The number of audio channels (the data are interleaved if it is stereo).
  • 1: Mono.
  • 2: Stereo.
samplesPerSec
The number of samples per channel in the audio frame.
buffer

The data buffer of the audio frame. When the audio frame uses a stereo channel, the data buffer is interleaved.

The size of the data buffer is as follows: buffer = samples × channels × bytesPerSample.

renderTimeMs

The timestamp (ms) of the external audio frame.

You can use this timestamp to restore the order of the captured audio frame, and synchronize audio and video frames in video scenarios, including scenarios where external video sources are used.

avsync_type
Reserved for future use.