iOS Guides | Samples

AudioToolbox Namespace

The AudioToolbox namespace provides medium-level classes for recording and playing audio.


Use AudioToolbox to create your own audio processing applications from the basic building blocks: AudioFile to read and write audio files, AudioFileStream to parse audio files progressively; And use the InputAudioQueue to record as well as OutputAudioQueue to play audio.

In addition to the low-level toolkit to create your own audio processing, the SystemSound can be used to play short audio clips.


_MidiDataAn abstract base class for MidiMetaEvent and MidiRawData.
AccessoryInfoUSB Accessory Information
AudioBalanceFadeHolds left/right balance and front/back fade values.
AudioBalanceFadeTypeAn enumeration whose values specify whether balance/fade manipulation should always have a gain of less than 1.0.
AudioBufferRepresents a collection of audio samples.
AudioBuffersEncapsulated a series of AudioBuffers.
AudioChannelBitAn enumeration whose values specify constants in the AudioChannelLayout.Bitmap property.
AudioChannelDescriptionDescribes an Audio Channel.
AudioChannelFlagsFlags for the AudioChannelDescription.Flags property.
AudioChannelLabelAn enumeration whose values specify the AudioChannelDescription.Label property.
AudioChannelLayoutSpecifies the file or hardware audio channel layout.
AudioChannelLayoutTagAn enumeration whose values are valid for channel layout tags.
AudioChannelLayoutTagExtensionsAn extension class that provides a AudioChannelLayoutTagExtensions.ToAudioChannel extension method to the AudioChannelLayoutTag class.
AudioClassDescriptionA class that describes an installed codec.
AudioCodecComponentTypeEnumeration of values used to specify linear PCM conversions.
AudioConverterThe linear PCM audio formats converter.
AudioConverterComplexInputDataDelegate associated with the AudioConverter.AudioConverterComplexInputData event.
AudioConverterErrorAn enumeration whose values specify various types of errors relating to the AudioConverter.
AudioConverterPrimeInfoThe priming information for an audio converter.
AudioConverterPrimeMethodThe prime method constants.
AudioConverterQualityConstants for the rendering quality of the sample rate converter.
AudioConverterSampleRateConverterComplexityConstants for the sample rate conversion algorithm.
AudioFileClass used to create audio files or read audio files.
AudioFileChunkTypeAn enumeration whose values specify different types of chunks appropriate to audio files.
AudioFileErrorThe error codes returned by AudioFile.
AudioFileFlagsAn enumeration whose values are valid flags for the AudioFile.Create method.
AudioFileGlobalInfoEncapsulates global audio-file information.
AudioFileInfoDictionaryMetadata-like information relating to a particular audio file.
AudioFileLoopDirectionAn enumeration whose values specify an audio-loop's direction.
AudioFileMarkerA class that represents a specific named position within an audio file.
AudioFileMarkerListA collection of AudioFileMarkers.
AudioFileMarkerTypeAn enumeration whose values specify the AudioFileMark.Type property.
AudioFilePacketTableInfoRepresents the number of valid frames in a file and where they begin or end.
AudioFilePermissionAn enumeration whose values specify the permissions argument in the AudioFile.Open method.
AudioFilePropertyAn enumeration whose values represent information about a AudioFile. See the AudioFile.GetProperty and AudioFile.SetProperty methods.
AudioFileRegionRepresents a named region within an audio file.
AudioFileRegionFlagsA flagging enumeration whose values are used in the AudioFileRegion.Flags property.
AudioFileRegionListA list of AudioFileRegions.
AudioFileSmpteTimeA struct that encapsulates a Society of Motion Picture and Television Engineers time.
AudioFileStreamProcess partial audio files.
AudioFileStreamPropertyAn enumeration whose values represent properties of AudioFileStream.
AudioFileStreamPropertyFlagAn enumeration whose values flag whether a AudioFileStreamProperty is cached.
AudioFileStreamStatusAn enumeration whose values indicate the status following calls to the AudioFileStream.Seek or AudioFileStream.ParseBytes methods.
AudioFileTypeKnown audio file types. Used to specify the kind of audio file to create, or as a hint to the audio parser about the contents of the file.
AudioFormatTuple structure that encapsulates both an AudioChannelLayoutTag and an AudioStreamBasicDescription.
AudioFormatAvailabilityThe application developer can use this class to retrieve the properties of available encoders and decoders.
AudioFormatErrorAn enumeration whose values specify various errors relating to audio formats.
AudioFormatFlagsFlags describing the stream in the AudioStreamBasicDescription.
AudioFormatTypeAudio format identifiers used by AudioStreamBasicDescription.
AudioPanningInfoInformation on audio panning.
AudioQueueBase class for Input and Output audio queues.
AudioQueue+AudioQueuePropertyChangedThe delegate to be used with the AudioQueue.AddListener and AudioQueue.RemoveListener methods.
AudioQueueBufferRepresents an audio queue buffer.
AudioQueueChannelAssignmentChannel assignments used as a parameter to the AudioQueue.SetChannelAssignments method.
AudioQueueDevicePropertyAn enumeration whose values specify properties of an audio queue device (number of channels and sample rate).
AudioQueueExceptionAn exception thrown by the AudioQueue class if there is a problem with the configuration parameters.
AudioQueueHardwareCodecPolicyAn enumeration whose values are used for the AudioQueue.HardwareCodecPolicy property.
AudioQueueLevelMeterStateRepresents the level meter information on an audio channel.
AudioQueueParameterAn enumeration whose values specify various parameters of an audio queue.
AudioQueueParameterEventA class that encapsulates values used as parameterEvents in calls to the AudioQueue.EnqueueBuffer method.
AudioQueueProcessingTapHolds the state for an AudioQueue processing tap.
AudioQueueProcessingTapDelegateSignature for AudioQueue's Tap callback handlers.
AudioQueueProcessingTapFlagsFlags used when an AudioQueue tap is created, and used by the tap processor callback.
AudioQueuePropertyAn enumeration whose values specify properties of audio queues.
AudioQueueStatusAn enumeration whose values specify the status of an audio queue.
AudioQueueTimelineObjects used to track audio queue timelines
AudioQueueTimePitchAlgorithmAn enumeration whose values specify the Time Pitch algorithm. Used with AudioQueueProperty.TimePitchAlgorithm.
AudioServicesErrorAn enumeration of values that can be returned by the SystemSound.AddSystemSoundCompletion method.
AudioSessionInterface to to control the audio context of your application
AudioSession+PropertyListenerThe delegate used with the AudioSession.AddListener and AudioSession.RemoveListener properties.
AudioSessionActiveFlagsFlags passed to AudioSession's SetActive method.
AudioSessionCategoryCategories for your audio session.
AudioSessionErrorsAn enumeration whose values can be returned by the AudioSession.SetActive method or the AudioSession.ErrorCode property.
AudioSessionExceptionException thrown by AudioSession's methods if invalid data is passed to AudioSession, or if the session is not properly configured.
AudioSessionInputRouteKindThe available audio input sources on the device.
AudioSessionInterruptionStateAn enumeration whose values represent the beginning and end of an audio session interruption.
AudioSessionInterruptionTypeAn enumeration whose values indicate whether the application should resume after an interruption. Returned by the AudioSession.InterruptionType property.
AudioSessionModeThe fine detail over the audio mode, an extension to the AudioSession Category
AudioSessionOutputRouteKindAn enumeration whose values specify different kinds of output routes.
AudioSessionPropertyAn enumeration whose values specify properties for audio sessions.
AudioSessionPropertyEventArgsProvides data for the event.
AudioSessionRouteChangeEventArgsProvides data for the AudioSessionRouteChangeEventArgs.AudioRouteChanged event.
AudioSessionRouteChangeReasonThe reason for AudioSession route change event to be raised.
AudioSessionRoutingOverridePossible values to override the audio route
AudioSourceA derived class from AudioFile that exposes virtual methods that can be hooked into (for reading and writing)
AudioStreamBasicDescriptionAudio packet stream description.
AudioStreamPacketDescriptionDescribes audio packets that do not have a standard size and packets that are interleaved with non-audio data.
AudioTimeStampRepresents an audio time stamp in various formats.
AudioTimeStamp+AtsFlagsRepresents the valid elements in an AudioTimeStamp structure.
AudioValueRangeA struct that holds minimum and maximum float values, indicating a range.
BufferCompletedEventArgsEvent arguments for an event that is raised when an audio buffer completes.
CABarBeatTimeStruct defining bar beat time, for use with MusicSequence methods such as MusicSequence.BarBeatToTimeBeats.
ExtendedNoteOnEventA struct that describes a note-on event with extended parameters.
InputAudioQueueAn Input Audio Queue, used for audio capturing and recording.
InputCompletedEventArgsProvides data for the InputCompletedEventArgs.InputCompleted event.
InputSourceInfoInput accessory information.
InstrumentInfoInformation on an instrument. Returned by SoundBank.GetInstrumentInfo.
MidiChannelMessageA struct describing a MIDI channel message. Used by the MusicTrack.AddMidiChannelEvent method.
MidiMetaEventEncapsulates a MIDI meta-event such as a time signature, lyrics, etc.
MidiNoteMessageEncapsulates a MIDI musical note.
MidiRawDataEncapsulates a MIDI System-Exclusive (SysEx) message.
MPEG4ObjectIDEnumerates MPEG-4 audio data types.
MusicEventTypeAn enumeration whose values describe various music event types.
MusicEventUserDataA subclass of MidiRawData that describes a user-defined event.
MusicPlayerAn object that plays a MusicSequence.
MusicPlayerStatusAn enumeration whose values describe the status of a MusicPlayer.
MusicSequenceA music sequence.
MusicSequenceFileFlagsCan be used to specify that an existing file should be erased when creating a new file. Used with the MusicSequence.CreateFile method.
MusicSequenceFileTypeIDAn enumeration that specifies the type of a music sequence file.
MusicSequenceLoadFlagsAn enumeration that specifies the loadFlags values in the MusicSequence.LoadData and MusicSequence.LoadFile methods.
MusicSequenceTypeAn enumeration whose values specify the MusicSequence.SequenceType property of a MusicSequence.
MusicTrackA music track is a series of time-stamped music events and is a component of a MusicSequence.
OutputAudioQueueThe output AudioQueue.
PacketReceivedEventArgsProvides data for the PacketReceivedEventArgs.PacketDecoded event.
PanningModeAn enumeration whose values specify the panning mode (sound-field vs. vector-based).
PropertyFoundEventArgsProvides data for the PropertyFoundEventArgs.PropertyFound event.
SmpteTimeSMPTE-based time representation. SMPTE times are used to synchronize an point in the audio stream with some external event.
SmpteTimeFlagsEnumerates SMTPE time states.
SmpteTimeTypeAn enumeration whose values specify the version of SMPTE time used by a SmpteTime.
SoundBankA MIDI sound bank.
SystemSoundProvides methods for producing simple sounds.