流处理
本地音频流处理
1.获取最终编码发送的音频数据
此回调返回的数据是最终编码发送的音频数据,比如经过SDK默认的3A(增益、回声、降噪)处理,如果还使用了混音、音效、自定义视频等功能,那么返回的数据中同时包含了以上效果的 声音。
RCRTCMicOutputStream 中willSendAudioBufferCallback
Objective C
@property (nonatomic, copy, nullable) RCRTCAudioDataCallback willSendAudioBufferCallback;
属性说明:
参数 | 类型 | 说明 |
---|---|---|
willSendAudioBufferCallback | RCRTCAudioDataCallback | 将要发送的音频 pcm 数据的回调,用户可以直接处理该音频数据 |
回调说明:
Objective C
typedef void(^RCRTCAudioDataCallback)(UInt32 inNumberFrames,
AudioBufferList * _Nonnull ioData,
const AudioTimeStamp * _Nonnull inTimeStamp);
返回参数:
参数 | 类型 | 说明 |
---|---|---|
inNumberFrames | UInt32 | 帧个数 |
ioData | AudioBufferList | 音频 pcm 数据 |
inTimeStamp | AudioTimeStamp | 音频时间戳 |
2.获取麦克风采集的原始音频数据(v5.1.6版本新增)
此回调返回的数据是采集的原始音频数据,不经过SDK的任何处理。
RCRTCMicOutputStream 中recordAudioDataCallback
Objective C
@property (nonatomic, copy, nullable) RCRTCAudioFrameCallback recordAudioDataCallback;
属性说明:
参数 | 类型 | 说明 |
---|---|---|
recordAudioDataCallback | RCRTCAudioFrameCallback | 麦克风音频 pcm 数据的回调,用户可以直接处理该音频数据 |
回调说明:
Objective C
typedef void (^RCRTCAudioFrameCallback)(RCRTCAudioFrame *_Nonnull frame);
返回参数:
参数 | 类型 | 说明 |
---|---|---|
frame | RCRTCAudioFrame* | 音频数据 |
远端音频
1.获取订阅的所有远端用户混音后的音频数据
接收后播放前的远端音频,上报的远端音频数据是将收到的所有远端音频进行混音后的数据。此数据从 RCRTCRoom
中的如下代理方法回调。
Objective C
@property (nonatomic, copy, nullable) RCRTCAudioDataCallback receivedAudioBufferCallback;
属性说明:
参数 | 类型 | 说明 |
---|---|---|
receivedAudioBufferCallback | RCRTCAudioDataCallback | 麦克风音频 pcm 数据的回调,用户可以直接处理该音频数据 |
返回参数:
参数 | 类型 | 说明 |
---|---|---|
frame | RCRTCAudioFrame* | 音频数据 |
inNumberFrames | UInt32 | 帧个数 |
ioData | AudioBufferList | 音频 pcm 数据 |
inTimeStamp | AudioTimeStamp | 音频时间戳 |
2.获取订阅的指定远端用户音频数据(v5.1.6版本新增)
订阅的远端流音频数据。此数据从 RCRTCAudioInputStream
中的如下代理方法回调。
Objective C
@property (nonatomic, copy, nullable) RCRTCAudioFrameCallback audioDataCallback;
属性说明:
参数 | 类型 | 说明 |
---|---|---|
audioDataCallback | RCRTCAudioFrameCallback | 麦克风音频 pcm 数据的回调,用户可以直接处理该音频数据 |
参数:
参数 | 类型 | 说明 |
---|---|---|
frame | RCRTCAudioFrame* | 音频数据 |
RCRTCAudioFrame对象的各字段:
字段 | 类型 | 说明 |
---|---|---|
bytes | uint8_t* | 音频数据 |
length | int32_t | 音频数据长度(字节数) |
channels | int32_t | 声道数 |
sampleRate | int32_t | 采样率 |
bytesPerSample | int32_t | 位深 |
samples | int32_t | 帧数 |
renderTimeMs | uint64_t | 时间戳 |