AgoraAudioFrame
原始音频数据。
Objective-C
__attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject
@property(assign, nonatomic) NSInteger samplesPerChannel;
@property(assign, nonatomic) NSInteger bytesPerSample;
@property(assign, nonatomic) NSInteger channels;
@property(assign, nonatomic) NSInteger samplesPerSec;
@property(assign, nonatomic) void* _Nullable buffer;
@property(assign, nonatomic) int64_t renderTimeMs;
@property(assign, nonatomic) NSInteger avSyncType;
@end
samplesPerChannel
每个声道的采样点数。
bytesPerSample
每个采样点的字节数。对于 PCM 来说,一般使用 16 bit,即两个字节。
channels
声道数量(如果是立体声,数据是交叉的)。
- 1: 单声道
- 2: 双声道
samplesPerSec
每声道每秒的采样点数。
buffer
声音数据缓存区(如果是立体声,数据是交叉存储的)。
缓存区数据大小 buffer
= samples
× channels
× bytesPerSample
。
renderTimeMs
外部音频帧的渲染时间戳。
你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以用于实现音视频同步。
avsyncType
保留参数。