iOS 音频AudioComponentDescription类型设置

  1. AudioComponentDescription 是用于描述音频组件的唯一标识和标识的结构。
typedef struct AudioComponentDescription {
    /// 一个音频组件的通用的独特的四字节码标识
    OSType              componentType;
    /// 根据componentType设置相应的类型
    OSType              componentSubType;
    /// 厂商的身份验证
    OSType              componentManufacturer;
    /// 如果没有一个明确指定的值,那么它必须被设置为0
    UInt32              componentFlags;
    /// 如果没有一个明确指定的值,那么它必须被设置为0
    UInt32              componentFlagsMask;
} AudioComponentDescription;
  1. componentType和componentSubType根据不同的音频单元功能来设置

AudioComponentDescription:

  • Converter unit :

    • type:kAudioUnitType_FormatConverter
      subType:kAudioUnitSubType_AUConverter
  • iPod Equalizer unit :

    • type:kAudioUnitType_Effect
      subType:kAudioUnitSubType_AUiPodEQ
  • 3D Mixer unit :

    • type:kAudioUnitType_Mixer
      subType:kAudioUnitSubType_AU3DMixerEmbedded
  • Multichannel Mixer unit :

    • type:kAudioUnitType_Mixer
      subType:kAudioUnitSubType_MultiChannelMixer
  • Generic Output unit :

    • type:kAudioUnitType_Output
      subType:kAudioUnitSubType_GenericOutput
  • Remote I/O unit :

    • type:kAudioUnitType_Output
      subType:kAudioUnitSubType_RemoteIO
  • Voice Processing I/O unit :

    • type:kAudioUnitType_Output
      subType:kAudioUnitSubType_VoiceProcessingIO
    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地址整理后奉上。
有其他不明白的,可以留言,看到就会回复。
如果喜欢,请帮忙点赞。支持转载,转载请附原文链接。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容