音频后处理
本章节主要介绍音视频SDK提供的各种音频后处理功能。后处理主要指的收到远端音频数据后的处理,主要分为单个远端用户PCM音频数据及播放前的PCM音频数据。目前音频后处理只提供简单的数据回调回调功能,暂不支持修改数据的功能。
注册单个用户PCM音频数据回调
API 介绍
注册单个用户远端音频数据回调
API 原型
@protocol NIMNetCallManager <NSObject>
/**
注册远端音频数据回调
@param uid 用户uid
@param callback 数据回调,取消注册就设置 callback nil
@return 是否设置成功
*/
- (BOOL)registerRemoteAudioCallBackWithUid:(NSString *)uid callback: (nullable NIMNetCallRemoteAudioPlayCallback)callback;
@end
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
uid | NSString | 用户uid |
callback | NIMNetCallRemoteAudioPlayCallback | 数据回调,取消注册就设置 callback nil。详情请看下文 单个用户PCM音频数据回调 |
- 示例
//注册远端音频数据回调
[[NIMAVChatSDK sharedSDK].netCallManager registerRemoteAudioCallBackWithUid:uid callback:^(SInt64 uid, SInt16 * _Nonnull data, int channel, int samplerate, int length) {
//写入文件
fwrite(data, sizeof(SInt16), length, file);
}];
单个用户PCM音频数据回调
API 介绍
单个用户远端音频数据回调
API 原型
/**
音频远端数据同步回调接口
@param uid uid
@param data 数据 16位
@param channel 声道数
@param samplerate 采样率
@param length 数据长度
*/
typedef void(^NIMNetCallRemoteAudioPlayCallback)(NSString *uid,SInt16 *data,int channel,int samplerate,int length);
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
uid | NSString | 用户uid |
data | SInt16 * | 数据 16位 |
channel | int | 声道数 |
samplerate | int | 采样率 |
length | int | 数据长度 |
注册播放PCM音频数据回调
API 介绍
注册音频播放数据回调
API 原型
@protocol NIMNetCallManager <NSObject>
/**
注册音频播放数据回调
@param callback 数据回调,取消注册就设置 callback nil
@return 是否设置成功
*/
- (BOOL)registerPlayAudioCallBack:(nullable NIMNetCallAudioPlayCallback)callback;
@end
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
uid | NSString | 用户uid |
callback | NIMNetCallRemoteAudioPlayCallback | 数据回调,取消注册就设置 callback nil。详情请看下文 播放PCM音频数据回调 |
- 示例
//注册远端音频数据回调
[[NIMAVChatSDK sharedSDK].netCallManager registerPlayAudioCallBack:^BOOL(SInt16 * _Nonnull data, int channel, int samplerate, int length) {
//写入文件
fwrite(data, sizeof(SInt16), length, file);
//如果需要继续播放就 return YES 不需要就 return NO;
return YES;
}];
播放PCM音频数据回调
API 介绍
播放PCM音频数据回调
API 原型
/**
音频播放数据同步回调接口
@param data 数据 16位
@param channel 声道数
@param samplerate 采样率
@param length 数据长度
@return YES 保留原始数据,继续播放 , NO 丢弃原始数据,不再播放
*/
typedef BOOL(^NIMNetCallAudioPlayCallback)(SInt16 *data,int channel,int samplerate,int length);
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
data | SInt16 * | 数据 16位 |
channel | int | 声道数 |
samplerate | int | 采样率 |
length | int | 数据长度 |
本篇文档内容是否对您有帮助?
有帮助
我要吐槽
此文档对你是否有帮助
×
有帮助
我要吐槽
×