一、AudioComponentDescription 是用于描述音频组件的唯一标识和标识的结构。
typedef struct AudioComponentDescription {
/*一个音频组件的通用的独特的四字节码标识*/
OSType componentType;
/*根据componentType设置相应的类型*/
OSType componentSubType;
/*厂商的身份验证*/
OSType componentManufacturer;
/*如果没有一个明确指定的值,那么它必须被设置为0*/
UInt32 componentFlags;
/*如果没有一个明确指定的值,那么它必须被设置为0*/
UInt32 componentFlagsMask;
} AudioComponentDescription;
二、componentType 和 componentSubType 根据不同的音频单元功能来设置,如下图:
如果要输出音频,那么就要如下设置:
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;
参考: