功能描述
QttAudio支持对SDK采集到的音视频数据进行前处理和后处理,获取想要的播放效果。
可以通过向引擎注册原始音频采集数据监听器,实现采集、修改原始音频数据功能,但不能改变数据大小。
接口描述
@protocol QttRtcDataDelegate <NSObject> @optional /** * 获取到数据 * @param buf * @param len */ - (int)onData:(char *)buf len:(int)len; @end;
@interface QttChannelEngine : NSObject /** * 设置原始音频采集数据监听器,可修改数据,但不能改变数据大小 * @param observer 数据监听器 * @param channels 声道数,可以为1或者2 * @param bufSize 数据回调大小,小于等于0为默认值 * @return - 0(ERR_SUCCESS): 成功. - < 0: 失败. */ - (int)setRecordDataObserver:(id<QttRtcDataDelegate>)observer samplerate:(int)samplerate channels:(int)channels bufSize:(int)bufSize; /** * 设置原始音频播放数据监听器,可修改数据,但不能改变数据大小 * @param observer 数据监听器 * @param bufSize 数据回调大小,小于等于0为默认值 * @return - 0(ERR_SUCCESS): 成功. - < 0: 失败. */ - (int)setPlaybackDataObserver:(id<QttRtcDataDelegate>)observer samplerate:(int)samplerate channels:(int)channels bufSize:(int)bufSize; @end
|
示例代码
@interface QttRtcDataDelegateImpl : NSObject<QttRtcDataDelegate> - (int)onData:(char *)buf len:(int)len; @end
@implementation QttRtclDataDelegateImpl - (int)onData:(char *)buf len:(int)len { //对数据进行处理 return true; } @end id<QttRtcDataDelegate> recordDelegate = [[QttRtcDataDelegateImpl alloc] init]; [engine setRecordDataObserver:recordDelegate samplerate:16000 channels:1 bufSize:0];
id<QttRtcDataDelegate> playDelegate = [[QttRtcDataDelegateImpl alloc] init]; [engine setPlaybackDataObserver:playDelegate samplerate:16000 channels:1 bufSize:0];
|