Agora RTC Objective-C API Reference Refactor

Data Fields
IAudioFrameObserverBase::AudioFrame Struct Reference

## Data Fields
AUDIO_FRAME_TYPE | type
int | samplesPerChannel
agora::rtc::BYTES_PER_SAMPLE | bytesPerSample
int | channels
int | samplesPerSec
void * | buffer
int64_t | renderTimeMs
int | avsync_type
int64_t | presentationMs
int | audioTrackNumber
uint32_t | rtpTimestamp

## Constructor & Destructor Documentation

## ◆ AudioFrame()

AudioFrame | ( |  | ) |
| inline

## Field Documentation

## ◆ type

AUDIO_FRAME_TYPE type

The type of the audio frame. See `AUDIO_FRAME_TYPE`.

## ◆ samplesPerChannel

int samplesPerChannel

The number of samples per channel in the audio frame.

## ◆ bytesPerSample

agora::rtc::BYTES_PER_SAMPLE bytesPerSample

The number of bytes per sample. For PCM, this parameter is generally set to 16 bits (2 bytes).

## ◆ channels

int channels

The number of audio channels (the data are interleaved if it is stereo).

- 1: Mono.
- 2: Stereo.

## ◆ samplesPerSec

int samplesPerSec

The number of samples per channel in the audio frame.

## ◆ buffer

void* 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

int64_t 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

int avsync_type

Reserved for future use.

## ◆ presentationMs

int64_t presentationMs

The pts timestamp of this audio frame.

This timestamp is used to indicate the origin pts time of the frame, and sync with video frame by the pts time stamp

## ◆ audioTrackNumber

int audioTrackNumber

The number of the audio track.

## ◆ rtpTimestamp

uint32_t rtpTimestamp

RTP timestamp of the first sample in the audio frame