- AudioComponentDescription 是用于描述音频组件的唯一标识和标识的结构。
typedef struct AudioComponentDescription {
/// 一个音频组件的通用的独特的四字节码标识
OSType componentType;
/// 根据componentType设置相应的类型
OSType componentSubType;
/// 厂商的身份验证
OSType componentManufacturer;
/// 如果没有一个明确指定的值,那么它必须被设置为0
UInt32 componentFlags;
/// 如果没有一个明确指定的值,那么它必须被设置为0
UInt32 componentFlagsMask;
} AudioComponentDescription;
- componentType和componentSubType根据不同的音频单元功能来设置
AudioComponentDescription:
Converter unit :
- type:kAudioUnitType_FormatConverter
subType:kAudioUnitSubType_AUConverter
- type:kAudioUnitType_FormatConverter
iPod Equalizer unit :
- type:kAudioUnitType_Effect
subType:kAudioUnitSubType_AUiPodEQ
- type:kAudioUnitType_Effect
3D Mixer unit :
- type:kAudioUnitType_Mixer
subType:kAudioUnitSubType_AU3DMixerEmbedded
- type:kAudioUnitType_Mixer
Multichannel Mixer unit :
- type:kAudioUnitType_Mixer
subType:kAudioUnitSubType_MultiChannelMixer
- type:kAudioUnitType_Mixer
Generic Output unit :
- type:kAudioUnitType_Output
subType:kAudioUnitSubType_GenericOutput
- type:kAudioUnitType_Output
Remote I/O unit :
- type:kAudioUnitType_Output
subType:kAudioUnitSubType_RemoteIO
- type:kAudioUnitType_Output
Voice Processing I/O unit :
- type:kAudioUnitType_Output
subType:kAudioUnitSubType_VoiceProcessingIO
- type:kAudioUnitType_Output
AudioComponentDescription acd;
/*componentType类型是相对应的,什么样的功能设置什么样的类型,componentSubType是根据componentType设置的。*/
acd.componentType = kAudioUnitType_Output;
acd.componentSubType = kAudioUnitSubType_RemoteIO;
/*如果没有一个明确指定的值,那么它必须被设置为0*/
acd.componentFlags = 0;
/*如果没有一个明确指定的值,那么它必须被设置为0*/
acd.componentFlagsMask = 0;
/*厂商的身份验证*/
acd.componentManufacturer = kAudioUnitManufacturer_Apple;
Demo地址整理后奉上。
有其他不明白的,可以留言,看到就会回复。
如果喜欢,请帮忙点赞。支持转载,转载请附原文链接。