---
title: Audio Components
framework: audiotoolbox
role: collectionGroup
role_heading: API Collection
path: audiotoolbox/audio-components
---

# Audio Components

Find, load, and configure audio components, such as Audio Units and audio codecs.

## Overview

Overview Use the Audio Components API to register and discover audio units, codecs, and other loadable code modules. This API replaces the Component Manager API used prior to macOS 10.6. The system searches for loadable bundles with a .audiocomp or .component filename extension in the following locations: ~/Library/Audio/Plug-Ins/Components /Library/Audio/Plug-Ins/Components /System/Library/Components The bundle Info.plist file needs to contain an AudioComponents item whose value is an array of dictionaries. For example: <key>AudioComponents</key> <array>     <dict>         <key>type</key>         <string>aufx</string>         <key>subtype</key>         <string>XMPL</string>         <key>manufacturer</key>         <string>ACME</string>         <key>name</key>         <string>AUExample</string>         <key>version</key>         <integer>12345</integer>         <key>factoryFunction</key>         <string>AUExampleFactory</string>                  <!-- An AudioComponent is sandbox safe. -->                  <key>sandboxSafe</key>         <true/>                  <!-- Or it can describe its resource usage. -->                  <key>resourceUsage</key>         <dict>             <key>iokit.user-client</key>             <array>                 <string>CustomUserClient1</string>                 <string>CustomUserClient2</string>             </array>             <key>mach-lookup.global-name</key>             <array>                 <string>MachServiceName1</string>                 <string>MachServiceName2</string>             </array>             <key>network.client</key>             <true/>             <key>temporary-exception.files.all.read-write</key>             </true>         </dict>

<!-- An AudioComponent can define its tags. -->                  <key>tags</key>         <array>             <string>Effect</string>             <string>Equalizer</string>         </array>     </dict> </array>

## Topics

### Creating an Audio Component Instance

- [AudioComponentInstanceNew(_:_:)](audiotoolbox/audiocomponentinstancenew(_:_:).md)
- [AudioComponentInstantiate(_:_:_:)](audiotoolbox/audiocomponentinstantiate(_:_:_:).md)
- [AudioComponentInstanceDispose(_:)](audiotoolbox/audiocomponentinstancedispose(_:).md)
- [AudioComponent](audiotoolbox/audiocomponent.md)
- [AudioComponentInstantiationOptions](audiotoolbox/audiocomponentinstantiationoptions.md)
- [Audio Component Errors](audiotoolbox/1619490-audio-component-errors.md)

### Creating an Audio Component Dynamically

- [AudioComponentRegister(_:_:_:_:)](audiotoolbox/audiocomponentregister(_:_:_:_:).md)
- [AudioComponentCount(_:)](audiotoolbox/audiocomponentcount(_:).md)
- [AudioComponentFindNext(_:_:)](audiotoolbox/audiocomponentfindnext(_:_:).md)
- [AudioComponentInstanceGetComponent(_:)](audiotoolbox/audiocomponentinstancegetcomponent(_:).md)
- [AudioComponentDescription](audiotoolbox/audiocomponentdescription.md)
- [AudioComponentInstance](audiotoolbox/audiocomponentinstance.md)
- [AudioComponentFlags](audiotoolbox/audiocomponentflags.md)
- [AudioComponentFactoryFunction](audiotoolbox/audiocomponentfactoryfunction.md)

### Getting Information About a Component

- [AudioComponentInstanceCanDo(_:_:)](audiotoolbox/audiocomponentinstancecando(_:_:).md)
- [AudioComponentGetDescription(_:_:)](audiotoolbox/audiocomponentgetdescription(_:_:).md)
- [AudioComponentCopyName(_:_:)](audiotoolbox/audiocomponentcopyname(_:_:).md)
- [AudioComponentGetVersion(_:_:)](audiotoolbox/audiocomponentgetversion(_:_:).md)
- [AudioComponentCopyIcon(_:)](audiotoolbox/audiocomponentcopyicon(_:).md)
- [AudioComponentCopyConfigurationInfo(_:_:)](audiotoolbox/audiocomponentcopyconfigurationinfo(_:_:).md)
- [AudioComponentPlugInInterface](audiotoolbox/audiocomponentplugininterface.md)
- [AudioComponentMethod](audiotoolbox/audiocomponentmethod.md)

### Validating an Audio Component

- [AudioComponentValidate(_:_:_:)](audiotoolbox/audiocomponentvalidate(_:_:_:).md)
- [kAudioComponentValidationParameter_LoadOutOfProcess](audiotoolbox/kaudiocomponentvalidationparameter_loadoutofprocess.md)
- [AudioComponentValidationResult](audiotoolbox/audiocomponentvalidationresult.md)

### Constants

- [kAudioComponentConfigurationInfo_ValidationResult](audiotoolbox/kaudiocomponentconfigurationinfo_validationresult.md)
- [kAudioComponentInstanceInvalidationNotification](audiotoolbox/kaudiocomponentinstanceinvalidationnotification.md)
- [kAudioComponentRegistrationsChangedNotification](audiotoolbox/kaudiocomponentregistrationschangednotification.md)
- [kAudioComponentValidationParameter_ForceValidation](audiotoolbox/kaudiocomponentvalidationparameter_forcevalidation.md)
- [kAudioComponentValidationParameter_TimeOut](audiotoolbox/kaudiocomponentvalidationparameter_timeout.md)

## See Also

### Audio Units

- [Generating spatial audio from a multichannel audio stream](audiotoolbox/generating-spatial-audio-from-a-multichannel-audio-stream.md)
- [Audio Unit v3 Plug-Ins](audiotoolbox/audio-unit-v3-plug-ins.md)
- [Audio Unit v2 (C) API](audiotoolbox/audio-unit-v2-c-api.md)
- [Audio Unit Properties](audiotoolbox/audio-unit-properties.md)
- [Audio Unit Voice I/O](audiotoolbox/audio-unit-voice-i-o.md)
