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

## Detailed Description

The definition of the AudioFrame struct.

## Constructor & Destructor Documentation

## ◆ AudioFrame()

AudioFrame | ( |  | ) |
| inline

## Field Documentation

## ◆ type

AUDIO_FRAME_TYPE type

The audio frame type: AUDIO_FRAME_TYPE.

## ◆ samplesPerChannel

int samplesPerChannel

The number of samples per channel in this frame.

## ◆ bytesPerSample

agora::rtc::BYTES_PER_SAMPLE bytesPerSample

The number of bytes per sample: #BYTES_PER_SAMPLE

## ◆ channels

int channels

The number of audio channels (data is interleaved, if stereo).

- 1: Mono.
- 2: Stereo.

## ◆ samplesPerSec

int samplesPerSec

The sample rate

## ◆ buffer

void* buffer

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

Buffer data size: buffer = samplesPerChannel × channels × bytesPerSample.

## ◆ renderTimeMs

int64_t renderTimeMs

The timestamp to render the audio data.

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

A reserved parameter.

## ◆ presentationMs

int64_t presentationMs

A reserved parameter.

You can use this presentationMs parameter to indicate the presenation milisecond timestamp, this will then filled into audio4 extension part, the remote side could use this pts in av sync process with video frame.

## ◆ audioTrackNumber

int audioTrackNumber

The number of the audio track.

## ◆ rtpTimestamp

uint32_t rtpTimestamp

RTP timestamp of the first sample in the AudioFrame