iOS reference / AudioToolbox / AUAudioUnitAudioToolbox · IOS API REFERENCE
AUAudioUnit class · iOS 9.0+ · SDK 27.1
class AUAudioUnitMembers (85) static · iOS 9.0+ instantiate TypeScript static instantiate(componentDescription: AudioComponentDescription, options: AudioComponentInstantiationOptions, completionHandler: ((arg0: (AUAudioUnit) | null, arg1: (NativeError) | null) => void)): voidSwift declaration class func instantiate(with componentDescription: AudioComponentDescription, options: AudioComponentInstantiationOptions = []) async throws -> AUAudioUnitstatic registerSubclass TypeScript static registerSubclass(cls: string, componentDescription: AudioComponentDescription, name: string, version: number): voidSwift declaration class func registerSubclass(_ cls: AnyClass, as componentDescription: AudioComponentDescription, name: String, version: UInt32)method · iOS 9.0+ allocateRenderResources TypeScript allocateRenderResources(): voidSwift declaration func allocateRenderResources() throwsmethod · iOS 9.0+ deallocateRenderResources TypeScript deallocateRenderResources(): voidSwift declaration func deallocateRenderResources()method · iOS 13.0+ deleteUserPreset TypeScript deleteUserPreset(userPreset: AUAudioUnitPreset): voidSwift declaration func deleteUserPreset(_ userPreset: AUAudioUnitPreset) throwsmethod · iOS 12.0+ disableProfile TypeScript disableProfile(profile: _CoreMIDI_MIDICIProfile, cable: number, channel: number): voidSwift declaration func disableProfile(_ profile: MIDICIProfile, cable: UInt8, onChannel channel: MIDIChannelNumber) throwsmethod · iOS 12.0+ enable TypeScript enable(profile: _CoreMIDI_MIDICIProfile, cable: number, channel: number): voidSwift declaration func enable(_ profile: MIDICIProfile, cable: UInt8, onChannel channel: MIDIChannelNumber) throwsinit · iOS 9.0+ init TypeScript static initComponentDescription(componentDescription: AudioComponentDescription): AUAudioUnitSwift declaration convenience init(componentDescription: AudioComponentDescription) throwsinit · iOS 9.0+ init TypeScript static initComponentDescriptionOptions(componentDescription: AudioComponentDescription, options?: AudioComponentInstantiationOptions): AUAudioUnitSwift declaration init(componentDescription: AudioComponentDescription, options: AudioComponentInstantiationOptions = []) throwsmethod · iOS 16.0+ messageChannel TypeScript messageChannel(channelName: string): SDKHandleSwift declaration func messageChannel(for channelName: String) -> any AUMessageChannelmethod · iOS 9.0+ parametersForOverview TypeScript parametersForOverview(count: number): Array<_Foundation_NSNumber>Swift declaration func parametersForOverview(withCount count: Int) -> [NSNumber]method · iOS 13.0+ presetState TypeScript presetState(userPreset: AUAudioUnitPreset): Record<string, unknown>Swift declaration func presetState(for userPreset: AUAudioUnitPreset) throws -> [String : Any]method · iOS 12.0+ profileState TypeScript profileState(cable: number, channel: number): _CoreMIDI_MIDICIProfileStateSwift declaration func profileState(forCable cable: UInt8, channel: MIDIChannelNumber) -> MIDICIProfileStatemethod · iOS 9.0+ removeRenderObserver TypeScript removeRenderObserver(token: number): voidSwift declaration func removeRenderObserver(_ token: Int)method · iOS 9.0+ reset TypeScript reset(): voidSwift declaration func reset()method · iOS 13.0+ saveUserPreset TypeScript saveUserPreset(userPreset: AUAudioUnitPreset): voidSwift declaration func saveUserPreset(_ userPreset: AUAudioUnitPreset) throwsmethod setRenderResourcesAllocated TypeScript setRenderResourcesAllocated(flag: boolean): voidSwift declaration func setRenderResourcesAllocated(_ flag: Bool)method shouldChange TypeScript shouldChange(format: _AVFAudio_AVAudioFormat, bus: AUAudioUnitBus): booleanSwift declaration func shouldChange(to format: AVAudioFormat, for bus: AUAudioUnitBus) -> Boolmethod startHardware TypeScript startHardware(): voidSwift declaration func startHardware() throwsmethod stopHardware TypeScript stopHardware(): voidSwift declaration func stopHardware()method · iOS 9.0+ token TypeScript token(observer: ((arg0: AudioUnitRenderActionFlags, arg1: SDKHandle, arg2: number, arg3: number) => void)): numberSwift declaration func token(byAddingRenderObserver observer: @escaping AURenderObserver) -> Intget · iOS 15.0+ audioUnitMIDIProtocol TypeScript get audioUnitMIDIProtocol(): _CoreMIDI_MIDIProtocolIDSwift declaration var audioUnitMIDIProtocol: MIDIProtocolID { get }get · iOS 11.0+ midiOutputBufferSizeHint TypeScript get midiOutputBufferSizeHint(): numberSwift declaration var midiOutputBufferSizeHint: Int { get set }set · iOS 11.0+ midiOutputBufferSizeHint TypeScript set midiOutputBufferSizeHint(value: number)Swift declaration var midiOutputBufferSizeHint: Int { get set }get · iOS 11.0+ midiOutputEventBlock TypeScript get midiOutputEventBlock(): (((arg0: number, arg1: number, arg2: number, arg3: SDKHandle) => Promise<number>)) | nullSwift declaration var midiOutputEventBlock: AUMIDIOutputEventBlock? { get set }get · iOS 15.0+ midiOutputEventListBlock TypeScript get midiOutputEventListBlock(): (((arg0: number, arg1: number, arg2: SDKHandle) => Promise<number>)) | nullSwift declaration var midiOutputEventListBlock: AUMIDIEventListBlock? { get set }get · iOS 11.0+ midiOutputNames TypeScript get midiOutputNames(): Array<string>Swift declaration var midiOutputNames: [String] { get }get · iOS 9.0+ allParameterValues TypeScript get allParameterValues(): booleanSwift declaration var allParameterValues: Bool { get }get · iOS 9.0+ audioUnitName TypeScript get audioUnitName(): (string) | nullSwift declaration var audioUnitName: String? { get }get · iOS 11.0+ audioUnitShortName TypeScript get audioUnitShortName(): (string) | nullSwift declaration var audioUnitShortName: String? { get }get canPerformInput TypeScript get canPerformInput(): booleanSwift declaration var canPerformInput: Bool { get }get canPerformOutput TypeScript get canPerformOutput(): booleanSwift declaration var canPerformOutput: Bool { get }get · iOS 9.0+ canProcessInPlace TypeScript get canProcessInPlace(): booleanSwift declaration var canProcessInPlace: Bool { get }get · iOS 9.0+ channelCapabilities TypeScript get channelCapabilities(): (Array<_Foundation_NSNumber>) | nullSwift declaration var channelCapabilities: [NSNumber]? { get }get · iOS 10.0+ channelMap TypeScript get channelMap(): (Array<_Foundation_NSNumber>) | nullSwift declaration var channelMap: [NSNumber]? { get set }set · iOS 10.0+ channelMap TypeScript set channelMap(value: (Array<_Foundation_NSNumber>) | null)Swift declaration var channelMap: [NSNumber]? { get set }get · iOS 9.0+ component TypeScript get component(): SDKHandleSwift declaration var component: AudioComponent { get }get · iOS 9.0+ componentDescription TypeScript get componentDescription(): AudioComponentDescriptionSwift declaration var componentDescription: AudioComponentDescription { get }get · iOS 9.0+ componentName TypeScript get componentName(): (string) | nullSwift declaration var componentName: String? { get }get · iOS 9.0+ componentVersion TypeScript get componentVersion(): numberSwift declaration var componentVersion: UInt32 { get }get · iOS 9.0+ contextName TypeScript get contextName(): (string) | nullSwift declaration var contextName: String? { get set }set · iOS 9.0+ contextName TypeScript set contextName(value: (string) | null)Swift declaration var contextName: String? { get set }get · iOS 9.0+ currentPreset TypeScript get currentPreset(): (AUAudioUnitPreset) | nullSwift declaration var currentPreset: AUAudioUnitPreset? { get set }set · iOS 9.0+ currentPreset TypeScript set currentPreset(value: (AUAudioUnitPreset) | null)Swift declaration var currentPreset: AUAudioUnitPreset? { get set }get · iOS 9.0+ factoryPresets TypeScript get factoryPresets(): (Array<AUAudioUnitPreset>) | nullSwift declaration var factoryPresets: [AUAudioUnitPreset]? { get }get · iOS 9.0+ fullState TypeScript get fullState(): (Record<string, unknown>) | nullSwift declaration var fullState: [String : Any]? { get set }set · iOS 9.0+ fullState TypeScript set fullState(value: (Record<string, unknown>) | null)Swift declaration var fullState: [String : Any]? { get set }get · iOS 9.0+ fullStateForDocument TypeScript get fullStateForDocument(): (Record<string, unknown>) | nullSwift declaration var fullStateForDocument: [String : Any]? { get set }set · iOS 9.0+ fullStateForDocument TypeScript set fullStateForDocument(value: (Record<string, unknown>) | null)Swift declaration var fullStateForDocument: [String : Any]? { get set }get · iOS 15.0+ hostMIDIProtocol TypeScript get hostMIDIProtocol(): _CoreMIDI_MIDIProtocolIDSwift declaration var hostMIDIProtocol: MIDIProtocolID { get set }set · iOS 15.0+ hostMIDIProtocol TypeScript set hostMIDIProtocol(value: _CoreMIDI_MIDIProtocolID)Swift declaration var hostMIDIProtocol: MIDIProtocolID { get set }get · iOS 9.0+ inputBusses TypeScript get inputBusses(): AUAudioUnitBusArraySwift declaration var inputBusses: AUAudioUnitBusArray { get }get isInputEnabled TypeScript get isInputEnabled(): booleanSwift declaration var isInputEnabled: Bool { get set }set isInputEnabled TypeScript set isInputEnabled(value: boolean)Swift declaration var isInputEnabled: Bool { get set }get · iOS 9.0+ latency TypeScript get latency(): numberSwift declaration var latency: TimeInterval { get }get · iOS 9.0+ manufacturerName TypeScript get manufacturerName(): (string) | nullSwift declaration var manufacturerName: String? { get }get · iOS 9.0+ maximumFramesToRender TypeScript get maximumFramesToRender(): numberSwift declaration var maximumFramesToRender: AUAudioFrameCount { get set }set · iOS 9.0+ maximumFramesToRender TypeScript set maximumFramesToRender(value: number)Swift declaration var maximumFramesToRender: AUAudioFrameCount { get set }get · iOS 16.0+ migrateFromPlugin TypeScript get migrateFromPlugin(): Array<unknown>Swift declaration var migrateFromPlugin: [Any] { get }get · iOS 9.0+ isMusicDeviceOrEffect TypeScript get isMusicDeviceOrEffect(): booleanSwift declaration var isMusicDeviceOrEffect: Bool { get }get · iOS 9.0+ musicalContextBlock TypeScript get musicalContextBlock(): (((arg0: (SDKHandle) | null, arg1: (SDKHandle) | null, arg2: (SDKHandle) | null, arg3: (SDKHandle) | null, arg4: (SDKHandle) | null, arg5: (SDKHandle) | null) => Promise<boolean>)) | nullSwift declaration var musicalContextBlock: AUHostMusicalContextBlock? { get set }get · iOS 9.0+ outputBusses TypeScript get outputBusses(): AUAudioUnitBusArraySwift declaration var outputBusses: AUAudioUnitBusArray { get }get isOutputEnabled TypeScript get isOutputEnabled(): booleanSwift declaration var isOutputEnabled: Bool { get set }set isOutputEnabled TypeScript set isOutputEnabled(value: boolean)Swift declaration var isOutputEnabled: Bool { get set }get · iOS 9.0+ parameterTree TypeScript get parameterTree(): (AUParameterTree) | nullSwift declaration var parameterTree: AUParameterTree? { get set }set · iOS 9.0+ parameterTree TypeScript set parameterTree(value: (AUParameterTree) | null)Swift declaration var parameterTree: AUParameterTree? { get set }get · iOS 12.0+ profileChangedBlock TypeScript get profileChangedBlock(): (((arg0: number, arg1: number, arg2: _CoreMIDI_MIDICIProfile, arg3: boolean) => Promise<void>)) | nullSwift declaration var profileChangedBlock: AUMIDICIProfileChangedBlock? { get set }set · iOS 12.0+ profileChangedBlock TypeScript set profileChangedBlock(value: (((arg0: number, arg1: number, arg2: _CoreMIDI_MIDICIProfile, arg3: boolean) => void)) | null)Swift declaration var profileChangedBlock: AUMIDICIProfileChangedBlock? { get set }get · iOS 11.0+ providesUserInterface TypeScript get providesUserInterface(): booleanSwift declaration var providesUserInterface: Bool { get }get · iOS 9.0+ renderQuality TypeScript get renderQuality(): numberSwift declaration var renderQuality: Int { get set }set · iOS 9.0+ renderQuality TypeScript set renderQuality(value: number)Swift declaration var renderQuality: Int { get set }get · iOS 9.0+ renderResourcesAllocated TypeScript get renderResourcesAllocated(): booleanSwift declaration var renderResourcesAllocated: Bool { get }get · iOS 9.0+ isRenderingOffline TypeScript get isRenderingOffline(): booleanSwift declaration var isRenderingOffline: Bool { get set }set · iOS 9.0+ isRenderingOffline TypeScript set isRenderingOffline(value: boolean)Swift declaration var isRenderingOffline: Bool { get set }get · iOS 11.0+ isRunning TypeScript get isRunning(): booleanSwift declaration var isRunning: Bool { get }get · iOS 9.0+ scheduleMIDIEventBlock TypeScript get scheduleMIDIEventBlock(): (((arg0: number, arg1: number, arg2: number, arg3: SDKHandle) => Promise<void>)) | nullSwift declaration var scheduleMIDIEventBlock: AUScheduleMIDIEventBlock? { get }get · iOS 15.0+ scheduleMIDIEventListBlock TypeScript get scheduleMIDIEventListBlock(): (((arg0: number, arg1: number, arg2: SDKHandle) => Promise<number>)) | nullSwift declaration var scheduleMIDIEventListBlock: AUMIDIEventListBlock? { get }get · iOS 9.0+ scheduleParameterBlock TypeScript get scheduleParameterBlock(): ((arg0: number, arg1: number, arg2: number, arg3: number) => Promise<void>)Swift declaration var scheduleParameterBlock: AUScheduleParameterBlock { get }get · iOS 9.0+ shouldBypassEffect TypeScript get shouldBypassEffect(): booleanSwift declaration var shouldBypassEffect: Bool { get set }set · iOS 9.0+ shouldBypassEffect TypeScript set shouldBypassEffect(value: boolean)Swift declaration var shouldBypassEffect: Bool { get set }get · iOS 10.0+ supportsMPE TypeScript get supportsMPE(): booleanSwift declaration var supportsMPE: Bool { get }get · iOS 13.0+ supportsUserPresets TypeScript get supportsUserPresets(): booleanSwift declaration var supportsUserPresets: Bool { get }get · iOS 9.0+ tailTime TypeScript get tailTime(): numberSwift declaration var tailTime: TimeInterval { get }get · iOS 13.0+ userPresets TypeScript get userPresets(): Array<AUAudioUnitPreset>Swift declaration var userPresets: [AUAudioUnitPreset] { get }get · iOS 9.0+ virtualMIDICableCount TypeScript get virtualMIDICableCount(): numberSwift declaration var virtualMIDICableCount: Int { get }Skipped declarations 12 declarations were excluded from these bindings. Each reason comes from the generator or the iOS SDK compiler.
AUAudioUnit.internalRenderBlock
callback cannot propagate synchronous failure
AUAudioUnit.renderBlock
callback cannot propagate synchronous failure
AUAudioUnit.midiOutputEventBlock
closure property answers its caller
AUAudioUnit.midiOutputEventListBlock
closure property answers its caller
AUAudioUnit.musicalContextBlock
closure property answers its caller
AUAudioUnit.transportStateBlock
The iOS SDK compiler rejected this binding: cannot convert value of type 'UnsafeMutablePointer<AUHostTransportStateFlags>' to expected argument type 'UnsafeMutablePointer<Int>'
AUAudioUnit.transportStateBlock
closure property answers its caller
AUAudioUnit.outputProvider
The iOS SDK compiler rejected this binding: cannot convert value of type 'UnsafeMutablePointer<AudioUnitRenderActionFlags>' to expected argument type 'UnsafeMutablePointer<UInt32>'
AUAudioUnit.outputProvider
closure property answers its caller
AUAudioUnit.inputHandler
The iOS SDK compiler rejected this binding: cannot convert value of type 'UnsafeMutablePointer<AudioUnitRenderActionFlags>' to expected argument type 'UnsafeMutablePointer<UInt32>'
AUAudioUnit.inputHandler
The iOS SDK compiler rejected this binding: cannot assign value of type '((UnsafeMutablePointer<AudioUnitRenderActionFlags>, UnsafePointer<AudioTimeStamp>, AUAudioFrameCount, Int) -> Void)?' (aka 'Optional<(UnsafeMutablePointer<AudioUnitRenderActionFlags>, UnsafePointer<AudioTimeStamp>, UInt32, Int) -> ()>') to type 'AUInputHandler?' (aka 'Optional<(UnsafeMutablePointer<UInt32>, UnsafePointer<AudioTimeStamp>, UInt32, Int) -> ()>')
AUAudioUnit.init()
inherited init: cannot prove legal (class declares 2 custom initializers)
All AudioToolbox types →