Audio Components
Find, load, and configure audio components, such as Audio Units and audio codecs.
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(_:_:)AudioComponentInstantiate(_:_:_:)AudioComponentInstanceDispose(_:)AudioComponentAudioComponentInstantiationOptionsAudio Component Errors
Creating an Audio Component Dynamically
AudioComponentRegister(_:_:_:_:)AudioComponentCount(_:)AudioComponentFindNext(_:_:)AudioComponentInstanceGetComponent(_:)AudioComponentDescriptionAudioComponentInstanceAudioComponentFlagsAudioComponentFactoryFunction
Getting Information About a Component
AudioComponentInstanceCanDo(_:_:)AudioComponentGetDescription(_:_:)AudioComponentCopyName(_:_:)AudioComponentGetVersion(_:_:)AudioComponentCopyIcon(_:)AudioComponentCopyConfigurationInfo(_:_:)AudioComponentPlugInInterfaceAudioComponentMethod
Validating an Audio Component
AudioComponentValidate(_:_:_:)kAudioComponentValidationParameter_LoadOutOfProcessAudioComponentValidationResult