Audio Queue Services
Connect to audio hardware and manage the recording or playback process.
Overview
This document describes Audio Queue Services, a C programming interface in the Audio Toolbox framework, which is part of Core Audio.
An audio queue is a software object you use for recording or playing audio. An audio queue does the work of:
Connecting to audio hardware
Managing memory
Employing codecs, as needed, for compressed audio formats
Mediating playback or recording
Audio Queue Services enables you to record and play audio in linear PCM, in compressed formats (such as Apple Lossless and AAC), and in other formats for which users have installed codecs. Audio Queue Services also supports scheduled playback and synchronization of multiple audio queues and synchronization of audio with video.
Topics
Creating and Disposing of Audio Queues
AudioQueueNewOutputWithDispatchQueue(_:_:_:_:_:)AudioQueueNewInputWithDispatchQueue(_:_:_:_:_:)AudioQueueNewOutput(_:_:_:_:_:_:_:)AudioQueueNewInput(_:_:_:_:_:_:_:)AudioQueueDispose(_:_:)AudioQueueRefAudioQueueInputCallbackBlockAudioQueueOutputCallbackBlock
Controlling Audio Queues
AudioQueueStart(_:_:)AudioQueuePrime(_:_:_:)AudioQueueFlush(_:)AudioQueueStop(_:_:)AudioQueuePause(_:)AudioQueueReset(_:)
Handling Audio Queue Buffers
AudioQueueAllocateBuffer(_:_:_:)AudioQueueAllocateBufferWithPacketDescriptions(_:_:_:_:)AudioQueueFreeBuffer(_:_:)AudioQueueEnqueueBuffer(_:_:_:_:)AudioQueueEnqueueBufferWithParameters(_:_:_:_:_:_:_:_:_:_:)
Tapping the Queue’s Audio
AudioQueueProcessingTapNew(_:_:_:_:_:_:_:)AudioQueueProcessingTapGetQueueTime(_:_:_:)AudioQueueProcessingTapGetSourceAudio(_:_:_:_:_:_:)AudioQueueProcessingTapDispose(_:)
Manipulating Audio Queue Parameters
Manipulating Audio Queue Properties
AudioQueueGetProperty(_:_:_:_:)AudioQueueSetProperty(_:_:_:_:)AudioQueueGetPropertySize(_:_:_:)AudioQueueAddPropertyListener(_:_:_:_:)AudioQueueRemovePropertyListener(_:_:_:_:)
Managing the Timeline
AudioQueueCreateTimeline(_:_:)AudioQueueDisposeTimeline(_:_:)AudioQueueDeviceGetCurrentTime(_:_:)AudioQueueDeviceGetNearestStartTime(_:_:_:)AudioQueueDeviceTranslateTime(_:_:_:)AudioQueueGetCurrentTime(_:_:_:_:)AudioQueueTimelineRef
Performing Offline Rendering
Callbacks
Data Types
AudioQueueChannelAssignmentAudioQueueProcessingTapFlagsAudioQueueBufferAudioQueueBufferRefAudioQueueLevelMeterStateAudioQueueParameterEventAudioQueueParameterIDAudioQueueParameterValueAudioQueueProcessingTapCallbackAudioQueueProcessingTapRef
Structures
AudioUnitConnectionAudioUnitEventAudioUnitExternalBufferAudioUnitFrequencyResponseBinAudioUnitMeterClippingAudioUnitMIDIControlMappingAudioUnitOtherPluginDescAudioUnitParameterAudioUnitParameterEventAudioUnitParameterHistoryInfoAudioUnitParameterNameInfoAudioUnitParameterIDNameAudioUnitParameterInfoAudioUnitParameterOptionsAudioUnitParameterStringFromValueAudioUnitParameterValueFromStringAudioUnitParameterValueNameAudioUnitParameterValueTranslationAudioUnitPresetMAS_SettingDataAudioUnitPresetMAS_SettingsAudioUnitPropertyAudioUnitRenderActionFlagsAU3DMixerRenderingFlagsAUChannelInfoAUDependentParameterAUDistanceAttenuationDataAUHostIdentifierAUHostTransportStateFlagsAUHostVersionIdentifierAUInputSamplesInOutputCallbackStructAUMIDIEventAUMIDIOutputCallbackStructAUNumVersionAUParameterAutomationEventAUParameterEventAUParameterMIDIMappingAUParameterMIDIMappingFlagsAUPresetAUPresetEventAURecordedParameterEventAURenderCallbackStructAURenderEventAURenderEventHeaderAUSamplerBankPresetDataAUSamplerInstrumentDataAUScheduledAudioSliceFlagsAUSpatialMixerRenderingFlags
Enumerations
AudioQueueProcessingTapFlagsAnonymousAudio Queue Time Pitch AlgorithmsAudio Queue Property IDsAudio Queue Property IDsAudio Queue Hardware Codec Policy
Constants
Result Codes
kAudioQueueErr_InvalidBufferkAudioQueueErr_BufferEmptykAudioQueueErr_DisposalPendingkAudioQueueErr_InvalidPropertykAudioQueueErr_InvalidPropertySizekAudioQueueErr_InvalidParameterkAudioQueueErr_CannotStartkAudioQueueErr_InvalidDevicekAudioQueueErr_BufferInQueuekAudioQueueErr_InvalidRunStatekAudioQueueErr_InvalidQueueTypekAudioQueueErr_PermissionskAudioQueueErr_InvalidPropertyValuekAudioQueueErr_PrimeTimedOutkAudioQueueErr_CodecNotFoundkAudioQueueErr_InvalidCodecAccesskAudioQueueErr_QueueInvalidatedkAudioQueueErr_RecordUnderrunkAudioQueueErr_EnqueueDuringResetkAudioQueueErr_InvalidOfflineModekAudioFormatUnsupportedDataFormatError