简单介绍
在iOS平台,所有音频框架的底层都是基于AudioUnit实现的。比如熟悉的AVFoundation,AudioToolBox等等,这些框架都封装了AudioUnit,然后提供了更高层的API。
主要的功能:
1.使用低延迟的音频I/O
2.多录声音的合成并且回访
3.回声消除,Mix两轨音频,以及均衡器,压缩器,混响器等效果器。
4.需要图状结构来处理音频,可以将音频处理模块组装到灵活的图状结构中。这是iOS中唯一提供此功能的音频API
简单使用
步骤:
Audio的分类
按照用途分为五大类型
1.Effect Unit kAudioUnitType_Effect 主要提供声音特效处理的功能
常用子类型如下:
- 均衡效果器 kAudioUnitSubType_NBandEQ
- 压缩效果器 kAudioUnitSubType_DynamicsProcessor
- 混响效果器 kAudioUnitSubType_Reverb2
2.Mixer Unit kAudioUnitType_Mixer 主要提供Mix多路声音的功能
常用子类型如下:
3DMixer 和 多路声音混音的效果器kAudioUnitSubType_MultiChannelMixer
3.I/O Unit kAudioUnitType_Output 提供I/O功能
RemoteIO 采集音频与播放音频
Generic OutPut 只使用输出,不需要麦克风,比如播放文件
4.FormatConverter 提供格式的转换
5.Generator 提供播放器的功能
用这个描述来构造真正的AudioUnit有两种方式。
第一种:直接使用AudioUnit裸的创建方式;
根据AudioUnit的描述,找出实际的AudioUnit类型。
第二种:使用AUGraph和AUNode来构建;
构建一个AUGraph完成一个音频播放的功能
image.png
网友评论