<!--
{
  "documentType" : "article",
  "framework" : "AudioToolbox",
  "identifier" : "/documentation/AudioToolbox/audio-unit-v2-c-api",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Audio Unit v2 (C) API"
}
-->

# Audio Unit v2 (C) API

Configure an Audio Unit and prepare it to render audio.

## Topics

### Initializing the Audio Unit

[`func AudioUnitInitialize(AudioUnit) -> OSStatus`](/documentation/AudioToolbox/AudioUnitInitialize(_:))

Initializes an audio unit

[`func AudioUnitUninitialize(AudioUnit) -> OSStatus`](/documentation/AudioToolbox/AudioUnitUninitialize(_:))

Uninitializes an audio unit.

[`func AudioUnitProcess(AudioUnit, UnsafeMutablePointer<AudioUnitRenderActionFlags>?, UnsafePointer<AudioTimeStamp>, UInt32, UnsafeMutablePointer<AudioBufferList>) -> OSStatus`](/documentation/AudioToolbox/AudioUnitProcess(_:_:_:_:_:))

[`func AudioUnitProcessMultiple(AudioUnit, UnsafeMutablePointer<AudioUnitRenderActionFlags>?, UnsafePointer<AudioTimeStamp>, UInt32, UInt32, UnsafeMutablePointer<UnsafePointer<AudioBufferList>>, UInt32, UnsafeMutablePointer<UnsafeMutablePointer<AudioBufferList>>) -> OSStatus`](/documentation/AudioToolbox/AudioUnitProcessMultiple(_:_:_:_:_:_:_:_:))

[`func AudioUnitReset(AudioUnit, AudioUnitScope, AudioUnitElement) -> OSStatus`](/documentation/AudioToolbox/AudioUnitReset(_:_:_:))

Resets an audio unit’s render state.

[`typealias AudioUnit`](/documentation/AudioToolbox/AudioUnit)

The data type for a plug-in component that provides audio processing or audio data generation.

### Starting and Stopping Output

[`func AudioOutputUnitStart(AudioUnit) -> OSStatus`](/documentation/AudioToolbox/AudioOutputUnitStart(_:))

Starts an I/O audio unit, which in turn starts the audio unit processing graph that it is connected to.

[`func AudioOutputUnitStop(AudioUnit) -> OSStatus`](/documentation/AudioToolbox/AudioOutputUnitStop(_:))

Stops an I/O audio unit, which in turn stops the audio unit processing graph that it is connected to.

[`typealias AudioOutputUnitStartProc`](/documentation/AudioToolbox/AudioOutputUnitStartProc)

[`typealias AudioOutputUnitStopProc`](/documentation/AudioToolbox/AudioOutputUnitStopProc)

### Rendering the Audio

[`func AudioUnitRender(AudioUnit, UnsafeMutablePointer<AudioUnitRenderActionFlags>?, UnsafePointer<AudioTimeStamp>, UInt32, UInt32, UnsafeMutablePointer<AudioBufferList>) -> OSStatus`](/documentation/AudioToolbox/AudioUnitRender(_:_:_:_:_:_:))

Initiates a rendering cycle for an audio unit.

[`func AudioUnitAddRenderNotify(AudioUnit, AURenderCallback, UnsafeMutableRawPointer?) -> OSStatus`](/documentation/AudioToolbox/AudioUnitAddRenderNotify(_:_:_:))

Registers a callback to receive audio unit render notifications.

[`func AudioUnitRemoveRenderNotify(AudioUnit, AURenderCallback, UnsafeMutableRawPointer?) -> OSStatus`](/documentation/AudioToolbox/AudioUnitRemoveRenderNotify(_:_:_:))

Unregisters a previously-registered render listener callback function.

[`typealias AURenderCallback`](/documentation/AudioToolbox/AURenderCallback)

Called by the system when an audio unit requires input samples, or before and after a render operation.

[`struct AudioUnitRenderActionFlags`](/documentation/AudioToolbox/AudioUnitRenderActionFlags)

Flags for configuring audio unit rendering.

### Configuring Audio Unit Properties

[`func AudioUnitGetProperty(AudioUnit, AudioUnitPropertyID, AudioUnitScope, AudioUnitElement, UnsafeMutableRawPointer, UnsafeMutablePointer<UInt32>) -> OSStatus`](/documentation/AudioToolbox/AudioUnitGetProperty(_:_:_:_:_:_:))

Gets the value of an audio unit property.

[`func AudioUnitSetProperty(AudioUnit, AudioUnitPropertyID, AudioUnitScope, AudioUnitElement, UnsafeRawPointer?, UInt32) -> OSStatus`](/documentation/AudioToolbox/AudioUnitSetProperty(_:_:_:_:_:_:))

Sets the value of an audio unit property.

[`func AudioUnitGetPropertyInfo(AudioUnit, AudioUnitPropertyID, AudioUnitScope, AudioUnitElement, UnsafeMutablePointer<UInt32>?, UnsafeMutablePointer<DarwinBoolean>?) -> OSStatus`](/documentation/AudioToolbox/AudioUnitGetPropertyInfo(_:_:_:_:_:_:))

Gets information about an audio unit property.

[`func AudioUnitAddPropertyListener(AudioUnit, AudioUnitPropertyID, AudioUnitPropertyListenerProc, UnsafeMutableRawPointer?) -> OSStatus`](/documentation/AudioToolbox/AudioUnitAddPropertyListener(_:_:_:_:))

Registers a callback to receive audio unit property change notifications.

[`func AudioUnitRemovePropertyListenerWithUserData(AudioUnit, AudioUnitPropertyID, AudioUnitPropertyListenerProc, UnsafeMutableRawPointer?) -> OSStatus`](/documentation/AudioToolbox/AudioUnitRemovePropertyListenerWithUserData(_:_:_:_:))

Unregisters a previously-registered property listener callback function.

### Responding to Events

[`func AUEventListenerCreateWithDispatchQueue(UnsafeMutablePointer<AUEventListenerRef?>, Float32, Float32, dispatch_queue_t, AUEventListenerBlock) -> OSStatus`](/documentation/AudioToolbox/AUEventListenerCreateWithDispatchQueue(_:_:_:_:_:))

[`func AUEventListenerCreate(AUEventListenerProc, UnsafeMutableRawPointer?, CFRunLoop?, CFString?, Float32, Float32, UnsafeMutablePointer<AUEventListenerRef?>) -> OSStatus`](/documentation/AudioToolbox/AUEventListenerCreate(_:_:_:_:_:_:_:))

[`func AUListenerDispose(AUParameterListenerRef) -> OSStatus`](/documentation/AudioToolbox/AUListenerDispose(_:))

[`func AUEventListenerNotify(AUEventListenerRef?, UnsafeMutableRawPointer?, UnsafePointer<AudioUnitEvent>) -> OSStatus`](/documentation/AudioToolbox/AUEventListenerNotify(_:_:_:))

[`func AUEventListenerAddEventType(AUEventListenerRef, UnsafeMutableRawPointer?, UnsafePointer<AudioUnitEvent>) -> OSStatus`](/documentation/AudioToolbox/AUEventListenerAddEventType(_:_:_:))

[`func AUEventListenerRemoveEventType(AUEventListenerRef, UnsafeMutableRawPointer?, UnsafePointer<AudioUnitEvent>) -> OSStatus`](/documentation/AudioToolbox/AUEventListenerRemoveEventType(_:_:_:))

[`func AUListenerAddParameter(AUParameterListenerRef, UnsafeMutableRawPointer?, UnsafePointer<AudioUnitParameter>) -> OSStatus`](/documentation/AudioToolbox/AUListenerAddParameter(_:_:_:))

[`func AUListenerRemoveParameter(AUParameterListenerRef, UnsafeMutableRawPointer?, UnsafePointer<AudioUnitParameter>) -> OSStatus`](/documentation/AudioToolbox/AUListenerRemoveParameter(_:_:_:))

[`typealias AUEventListenerBlock`](/documentation/AudioToolbox/AUEventListenerBlock)

### Getting and Setting Parameters

[`func AudioUnitGetParameter(AudioUnit, AudioUnitParameterID, AudioUnitScope, AudioUnitElement, UnsafeMutablePointer<AudioUnitParameterValue>) -> OSStatus`](/documentation/AudioToolbox/AudioUnitGetParameter(_:_:_:_:_:))

Gets the value of an audio unit parameter.

[`func AudioUnitScheduleParameters(AudioUnit, UnsafePointer<AudioUnitParameterEvent>, UInt32) -> OSStatus`](/documentation/AudioToolbox/AudioUnitScheduleParameters(_:_:_:))

Schedules changes to the value of an audio unit parameter.

[`func AudioUnitSetParameter(AudioUnit, AudioUnitParameterID, AudioUnitScope, AudioUnitElement, AudioUnitParameterValue, UInt32) -> OSStatus`](/documentation/AudioToolbox/AudioUnitSetParameter(_:_:_:_:_:_:))

Sets the value of an audio unit parameter.

### Monitoring Parameter Changes

[`func AUListenerCreateWithDispatchQueue(UnsafeMutablePointer<AUParameterListenerRef?>, Float32, dispatch_queue_t, AUParameterListenerBlock) -> OSStatus`](/documentation/AudioToolbox/AUListenerCreateWithDispatchQueue(_:_:_:_:))

[`func AUListenerCreate(AUParameterListenerProc, UnsafeMutableRawPointer, CFRunLoop?, CFString?, Float32, UnsafeMutablePointer<AUParameterListenerRef?>) -> OSStatus`](/documentation/AudioToolbox/AUListenerCreate(_:_:_:_:_:_:))

[`func AUParameterListenerNotify(AUParameterListenerRef?, UnsafeMutableRawPointer?, UnsafePointer<AudioUnitParameter>) -> OSStatus`](/documentation/AudioToolbox/AUParameterListenerNotify(_:_:_:))

[`func AUParameterFormatValue(Float64, UnsafePointer<AudioUnitParameter>, UnsafeMutablePointer<CChar>, UInt32) -> UnsafeMutablePointer<CChar>`](/documentation/AudioToolbox/AUParameterFormatValue(_:_:_:_:))

[`func AUParameterSet(AUParameterListenerRef?, UnsafeMutableRawPointer?, UnsafePointer<AudioUnitParameter>, AudioUnitParameterValue, UInt32) -> OSStatus`](/documentation/AudioToolbox/AUParameterSet(_:_:_:_:_:))

[`func AUParameterValueFromLinear(Float32, UnsafePointer<AudioUnitParameter>) -> AudioUnitParameterValue`](/documentation/AudioToolbox/AUParameterValueFromLinear(_:_:))

[`func AUParameterValueToLinear(AudioUnitParameterValue, UnsafePointer<AudioUnitParameter>) -> Float32`](/documentation/AudioToolbox/AUParameterValueToLinear(_:_:))

[`typealias AUParameterListenerBlock`](/documentation/AudioToolbox/AUParameterListenerBlock)

[`typealias AUParameterListenerProc`](/documentation/AudioToolbox/AUParameterListenerProc)

[`typealias AUParameterListenerRef`](/documentation/AudioToolbox/AUParameterListenerRef)

[`typealias AUImplementorDisplayNameWithLengthCallback`](/documentation/AudioToolbox/AUImplementorDisplayNameWithLengthCallback)

A block called to obtain a parameter node’s display name, possibly truncated to a desired length.

[`typealias AUImplementorStringFromValueCallback`](/documentation/AudioToolbox/AUImplementorStringFromValueCallback)

A block called to convert a parameter value to a string representation.

[`typealias AUImplementorValueFromStringCallback`](/documentation/AudioToolbox/AUImplementorValueFromStringCallback)

A block called to convert a string to a parameter value.

### Getting Information from the Host

[`typealias HostCallback_GetBeatAndTempo`](/documentation/AudioToolbox/HostCallback_GetBeatAndTempo)

When called by the system, provides beat and tempo information to an audio unit from a host application.

[`typealias HostCallback_GetMusicalTimeLocation`](/documentation/AudioToolbox/HostCallback_GetMusicalTimeLocation)

When called by the system, provides musical timing information to an audio unit from a host application.

[`typealias HostCallback_GetTransportState`](/documentation/AudioToolbox/HostCallback_GetTransportState)

When called by the system, provides audio transport state and timeline information to an audio unit from a host application.

[`typealias HostCallback_GetTransportState2`](/documentation/AudioToolbox/HostCallback_GetTransportState2)

[`typealias AUInputSamplesInOutputCallback`](/documentation/AudioToolbox/AUInputSamplesInOutputCallback)

Called by the system when an audio unit has provided a buffer of output samples.

[`typealias AUMIDIOutputCallback`](/documentation/AudioToolbox/AUMIDIOutputCallback)

When called by a host application, gets MIDI data from an audio unit.

### Getting the Configuration Information

[`var kAudioUnitConfigurationInfo_BusCountWritable: String`](/documentation/AudioToolbox/kAudioUnitConfigurationInfo_BusCountWritable)

[`var kAudioUnitConfigurationInfo_ChannelConfigurations: String`](/documentation/AudioToolbox/kAudioUnitConfigurationInfo_ChannelConfigurations)

[`var kAudioUnitConfigurationInfo_HasCustomView: String`](/documentation/AudioToolbox/kAudioUnitConfigurationInfo_HasCustomView)

[`var kAudioUnitConfigurationInfo_IconURL: String`](/documentation/AudioToolbox/kAudioUnitConfigurationInfo_IconURL)

[`var kAudioUnitConfigurationInfo_InitialInputs: String`](/documentation/AudioToolbox/kAudioUnitConfigurationInfo_InitialInputs)

[`var kAudioUnitConfigurationInfo_InitialOutputs: String`](/documentation/AudioToolbox/kAudioUnitConfigurationInfo_InitialOutputs)

[`var kAudioUnitConfigurationInfo_SupportedChannelLayoutTags: String`](/documentation/AudioToolbox/kAudioUnitConfigurationInfo_SupportedChannelLayoutTags)

### Configuring the Audio Unit UI

[`struct AudioUnitCocoaViewInfo`](/documentation/AudioToolbox/AudioUnitCocoaViewInfo)

The name and number of custom Cocoa views for an audio unit.

[`@protocol AUCocoaUIBase`](/documentation/AudioToolbox/AUCocoaUIBase)

[`typedef ComponentInstance AudioUnitCarbonView;`](/documentation/AudioToolbox/AudioUnitCarbonView)

[`typedef SInt32 AudioUnitCarbonViewEventID;`](/documentation/AudioToolbox/AudioUnitCarbonViewEventID)

[Audio Unit Carbon View Events](/documentation/AudioToolbox/1579365-audio_unit_carbon_view_events)

[Audio Unit Carbon View Selectors](/documentation/AudioToolbox/1579372-audio_unit_carbon_view_selectors)

[Audio Unit Carbon View Component Types](/documentation/AudioToolbox/1579363-audio_unit_carbon_view_component)

[`func GetAudioUnitParameterDisplayType(AudioUnitParameterOptions) -> AudioUnitParameterOptions`](/documentation/AudioToolbox/GetAudioUnitParameterDisplayType(_:))

[`func SetAudioUnitParameterDisplayType(AudioUnitParameterOptions, AudioUnitParameterOptions) -> AudioUnitParameterOptions`](/documentation/AudioToolbox/SetAudioUnitParameterDisplayType(_:_:))

### Configuring the Audio Unit UI

[`struct AudioUnitCocoaViewInfo`](/documentation/AudioToolbox/AudioUnitCocoaViewInfo)

The name and number of custom Cocoa views for an audio unit.

[`func GetAudioUnitParameterDisplayType(AudioUnitParameterOptions) -> AudioUnitParameterOptions`](/documentation/AudioToolbox/GetAudioUnitParameterDisplayType(_:))

[`func SetAudioUnitParameterDisplayType(AudioUnitParameterOptions, AudioUnitParameterOptions) -> AudioUnitParameterOptions`](/documentation/AudioToolbox/SetAudioUnitParameterDisplayType(_:_:))

### Audio Unit Types

[`struct ScheduledAudioFileRegion`](/documentation/AudioToolbox/ScheduledAudioFileRegion)

[`struct ScheduledAudioSlice`](/documentation/AudioToolbox/ScheduledAudioSlice)

[`typealias ScheduledAudioFileRegionCompletionProc`](/documentation/AudioToolbox/ScheduledAudioFileRegionCompletionProc)

[`typealias ScheduledAudioSliceCompletionProc`](/documentation/AudioToolbox/ScheduledAudioSliceCompletionProc)

[`typealias MIDIChannelNumber`](/documentation/AudioToolbox/MIDIChannelNumber)

MIDI Channel, 0~15 (channels 1 through 16, respectively).

[`typealias AUAudioObjectID`](/documentation/AudioToolbox/AUAudioObjectID)

[`typealias AUMIDICIProfileChangedBlock`](/documentation/AudioToolbox/AUMIDICIProfileChangedBlock)

[`typealias AUAudioChannelCount`](/documentation/AudioToolbox/AUAudioChannelCount)

A number of audio channels.

[`typealias AUAudioFrameCount`](/documentation/AudioToolbox/AUAudioFrameCount)

A number of audio sample frames.

[`typealias AUAudioUnitStatus`](/documentation/AudioToolbox/AUAudioUnitStatus)

A result code returned from an audio unit’s render function.

[`typealias AUEventListenerProc`](/documentation/AudioToolbox/AUEventListenerProc)

[`typealias AUEventListenerRef`](/documentation/AudioToolbox/AUEventListenerRef)

[`typealias AUEventSampleTime`](/documentation/AudioToolbox/AUEventSampleTime)

Expresses time as a sample count.

[`typealias AUImplementorValueObserver`](/documentation/AudioToolbox/AUImplementorValueObserver)

A block called to notify the audio unit implementation of changes to a parameter value.

[`typealias AUImplementorValueProvider`](/documentation/AudioToolbox/AUImplementorValueProvider)

A block called to fetch a parameter’s current value from the audio unit implementation.

[`typealias AUInputHandler`](/documentation/AudioToolbox/AUInputHandler)

A block to notify the host of an I/O unit that an input is available.

[`typealias AUNodeConnection`](/documentation/AudioToolbox/AUNodeConnection)

[`typealias AUParameterAddress`](/documentation/AudioToolbox/AUParameterAddress)

A numeric identifier for an audio unit parameter.

[`typealias AUParameterAutomationObserver`](/documentation/AudioToolbox/AUParameterAutomationObserver)

[`typealias AUParameterObserver`](/documentation/AudioToolbox/AUParameterObserver)

A block called after the value of a parameter changes.

[`typealias AUParameterObserverToken`](/documentation/AudioToolbox/AUParameterObserverToken)

A token representing an installed parameter observer block.

[`typealias AUParameterRecordingObserver`](/documentation/AudioToolbox/AUParameterRecordingObserver)

A block called to record parameter changes as automation events.

[`typealias AURenderBlock`](/documentation/AudioToolbox/AURenderBlock)

A block to render the audio unit.

[`typealias AURenderObserver`](/documentation/AudioToolbox/AURenderObserver)

A block called when an audio unit renders audio.

[`typealias AURenderPullInputBlock`](/documentation/AudioToolbox/AURenderPullInputBlock)

A block to supply audio input to a render block.

[`typealias AUScheduleParameterBlock`](/documentation/AudioToolbox/AUScheduleParameterBlock)

A block to schedule parameter changes.

[`typealias AUValue`](/documentation/AudioToolbox/AUValue)

A value of an audio unit parameter.

[`typealias AudioUnitAddPropertyListenerProc`](/documentation/AudioToolbox/AudioUnitAddPropertyListenerProc)

[`typealias AudioUnitAddRenderNotifyProc`](/documentation/AudioToolbox/AudioUnitAddRenderNotifyProc)

[`typealias AudioUnitComplexRenderProc`](/documentation/AudioToolbox/AudioUnitComplexRenderProc)

[`typealias AudioUnitElement`](/documentation/AudioToolbox/AudioUnitElement)

The data type for an audio unit element identifier.

[`typealias AudioUnitGetParameterProc`](/documentation/AudioToolbox/AudioUnitGetParameterProc)

[`typealias AudioUnitGetPropertyInfoProc`](/documentation/AudioToolbox/AudioUnitGetPropertyInfoProc)

[`typealias AudioUnitGetPropertyProc`](/documentation/AudioToolbox/AudioUnitGetPropertyProc)

[`typealias AudioUnitInitializeProc`](/documentation/AudioToolbox/AudioUnitInitializeProc)

[`typealias AudioUnitParameterID`](/documentation/AudioToolbox/AudioUnitParameterID)

The data type for an audio unit parameter identifier.

[`struct AudioUnitParameterNameInfo`](/documentation/AudioToolbox/AudioUnitParameterNameInfo)

A short version of the name for an audio unit parameter.

[`typealias AudioUnitParameterIDName`](/documentation/AudioToolbox/AudioUnitParameterIDName)

A type definition for a data type that defines the short version of the name for an audio unit parameter.

[`typealias AudioUnitParameterValue`](/documentation/AudioToolbox/AudioUnitParameterValue)

The data type for an audio unit parameter value.

[`typealias AudioUnitProcessMultipleProc`](/documentation/AudioToolbox/AudioUnitProcessMultipleProc)

[`typealias AudioUnitProcessProc`](/documentation/AudioToolbox/AudioUnitProcessProc)

[`typealias AudioUnitPropertyID`](/documentation/AudioToolbox/AudioUnitPropertyID)

The data type for audio unit property keys.

[`typealias AudioUnitPropertyListenerProc`](/documentation/AudioToolbox/AudioUnitPropertyListenerProc)

Called by the system when the value of a specified audio unit property has changed.

[`typealias AudioUnitRemoteControlEventListener`](/documentation/AudioToolbox/AudioUnitRemoteControlEventListener)

[`typealias AudioUnitRemovePropertyListenerProc`](/documentation/AudioToolbox/AudioUnitRemovePropertyListenerProc)

[`typealias AudioUnitRemovePropertyListenerWithUserDataProc`](/documentation/AudioToolbox/AudioUnitRemovePropertyListenerWithUserDataProc)

[`typealias AudioUnitRemoveRenderNotifyProc`](/documentation/AudioToolbox/AudioUnitRemoveRenderNotifyProc)

[`typealias AudioUnitRenderProc`](/documentation/AudioToolbox/AudioUnitRenderProc)

[`typealias AudioUnitResetProc`](/documentation/AudioToolbox/AudioUnitResetProc)

[`typealias AudioUnitScheduleParametersProc`](/documentation/AudioToolbox/AudioUnitScheduleParametersProc)

[`typealias AudioUnitScope`](/documentation/AudioToolbox/AudioUnitScope)

The data type for audio unit scope identifiers.

[`typealias AudioUnitSetParameterProc`](/documentation/AudioToolbox/AudioUnitSetParameterProc)

[`typealias AudioUnitSetPropertyProc`](/documentation/AudioToolbox/AudioUnitSetPropertyProc)

[`typealias AudioUnitUninitializeProc`](/documentation/AudioToolbox/AudioUnitUninitializeProc)

### Enumerations

[Audio Unit Types](/documentation/AudioToolbox/1584142-audio_unit_types)

The defined types of audio processing plug-ins known as audio units.

[Inter-App Audio Unit Types](/documentation/AudioToolbox/1619501-inter-app-audio-unit-types)

[Audio Unit Manufacturer Identifier](/documentation/AudioToolbox/1584143-audio_unit_manufacturer_identifi)

The Apple audio unit manufacturer code.

[Audio Unit Output Subtypes](/documentation/AudioToolbox/1584148-audio-unit-output-subtypes)

[I/O Audio Unit Subtypes](/documentation/AudioToolbox/1619485-i-o-audio-unit-subtypes)

[Converter Audio Unit Subtypes](/documentation/AudioToolbox/1584145-converter_audio_unit_subtypes)

Audio data format converter audio unit subtypes for audio units provided by Apple.

[Reserved Audio Unit Clump Identifier](/documentation/AudioToolbox/1533986-reserved_audio_unit_clump_identi)

Reserved for system use.

[Offline Audio Unit Properties](/documentation/AudioToolbox/1534054-offline_audio_unit_properties)

Properties for audio units that perform offline processing—that is, processing in a nonplayback, nonrealtime mode.

[MIDI Audio Unit Parameters](/documentation/AudioToolbox/1389613-midi_audio_unit_parameters)

Parameters for instrument units.

[General Audio Unit Function Selectors](/documentation/AudioToolbox/1584140-general_audio_unit_function_sele)

General audio unit component selectors that correspond to functions in the audio unit API.

[Generator Audio Unit Subtypes](/documentation/AudioToolbox/1619493-generator_audio_unit_subtypes)

Audio units that serve as sound sources.

[Input/Output Audio Unit Subtypes](/documentation/AudioToolbox/1584139-input_output_audio_unit_subtypes)

Input/output audio unit subtypes for audio units provided by Apple.

[Audio Unit Panner Subtypes](/documentation/AudioToolbox/1584151-audio-unit-panner-subtypes)

[Audio Unit Player Subtypes](/documentation/AudioToolbox/1584155-audio-unit-player-subtypes)

[Audio Unit Pitch Subtypes](/documentation/AudioToolbox/1584152-audio-unit-pitch-subtypes)

[`enum AudioUnitEventType`](/documentation/AudioToolbox/AudioUnitEventType)

[`struct AudioUnitParameterOptions`](/documentation/AudioToolbox/AudioUnitParameterOptions)

Value options for audio unit parameters.

[`enum AudioUnitParameterUnit`](/documentation/AudioToolbox/AudioUnitParameterUnit)

The unit-of-measure for an audio unit parameter.

[`enum AudioUnitRemoteControlEvent`](/documentation/AudioToolbox/AudioUnitRemoteControlEvent)

[Audio Unit Sample Rate Converter Complexity](/documentation/AudioToolbox/1534173-audio_unit_sample_rate_converter)

Quality levels for the audio sample-rate conversion algorithm.

[Audio Unit Scopes](/documentation/AudioToolbox/1534214-audio_unit_scopes)

Programmatic roles and contexts for audio unit properties.

[Audio Unit SRC Algorithms](/documentation/AudioToolbox/1533994-audio-unit-src-algorithms)

[Audio Unit Full Name Parameter](/documentation/AudioToolbox/1534055-audio-unit-full-name-parameter)

[Audio Unit Parameter Flags](/documentation/AudioToolbox/1534035-audio-unit-parameter-flags)

[Audio Unit Filter Parameters](/documentation/AudioToolbox/1390052-audio-unit-filter-parameters)

[Audio Unit Generic Properties](/documentation/AudioToolbox/1533969-audio-unit-generic-properties)

[Audio Unit Parameter Flags](/documentation/AudioToolbox/1534166-audio-unit-parameter-flags)

[Audio Unit Scheduled Sound Player Properties](/documentation/AudioToolbox/1534024-audio-unit-scheduled-sound-playe)

[Audio Unit Offline Preflight Flags](/documentation/AudioToolbox/1534010-audio-unit-offline-preflight-fla)

[Audio Unit Migration Properties](/documentation/AudioToolbox/1534149-audio-unit-migration-properties)

[Audio Unit File Player Properties](/documentation/AudioToolbox/1534079-audio-unit-file-player-propertie)

[Audio Unit Parameter Listener](/documentation/AudioToolbox/1509425-audio-unit-parameter-listener)

[Audio Unit Errors](/documentation/AudioToolbox/1584138-audio-unit-errors)

[`enum AUAudioUnitBusType`](/documentation/AudioToolbox/AUAudioUnitBusType)

[AUEventSampleTime](/documentation/AudioToolbox/1387633-aueventsampletime)

Expresses time as a sample count.

[`struct AUHostTransportStateFlags`](/documentation/AudioToolbox/AUHostTransportStateFlags)

[`enum AUParameterAutomationEventType`](/documentation/AudioToolbox/AUParameterAutomationEventType)

[`enum AUParameterEventType`](/documentation/AudioToolbox/AUParameterEventType)

Audio unit parameter event types.

[`enum AURenderEventType`](/documentation/AudioToolbox/AURenderEventType)

[`struct AUScheduledAudioSliceFlags`](/documentation/AudioToolbox/AUScheduledAudioSliceFlags)

[`struct AUParameterMIDIMappingFlags`](/documentation/AudioToolbox/AUParameterMIDIMappingFlags)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)