<!--
{
  "documentType" : "article",
  "framework" : "AudioToolbox",
  "identifier" : "/documentation/AudioToolbox/extended-audio-file-services",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Extended Audio File Services"
}
-->

# Extended Audio File Services

Read and write compressed files and linear PCM audio files using a simplified interface.

## Discussion

Extended Audio File Services provides simplified audio file access, combining features of Audio File Services and Audio Converter Services. It provides a unified interface for reading and writing compressed as well as linear PCM audio files.

## Topics

### Managing Extended Audio File Objects

[`ExtAudioFileCreateWithURL(_:_:_:_:_:_:)`](/documentation/AudioToolbox/ExtAudioFileCreateWithURL(_:_:_:_:_:_:))

Creates a new audio file and associates it with a new extended audio file object.

[`ExtAudioFileDispose(_:)`](/documentation/AudioToolbox/ExtAudioFileDispose(_:))

Disposes of an extended audio file object and closes the associated file.

[`ExtAudioFileOpenURL(_:_:)`](/documentation/AudioToolbox/ExtAudioFileOpenURL(_:_:))

Opens an existing audio file for reading, and associates it with a new extended audio file object.

[`ExtAudioFileWrapAudioFileID(_:_:_:)`](/documentation/AudioToolbox/ExtAudioFileWrapAudioFileID(_:_:_:))

Wraps an audio file object in an extended audio file object.

### Configuring Properties for Extended Audio File Objects

[`ExtAudioFileGetProperty(_:_:_:_:)`](/documentation/AudioToolbox/ExtAudioFileGetProperty(_:_:_:_:))

Gets a property value from an extended audio file object.

[`ExtAudioFileGetPropertyInfo(_:_:_:_:)`](/documentation/AudioToolbox/ExtAudioFileGetPropertyInfo(_:_:_:_:))

Gets information about an extended audio file object property.

[`ExtAudioFileSetProperty(_:_:_:_:)`](/documentation/AudioToolbox/ExtAudioFileSetProperty(_:_:_:_:))

Sets a property value for an extended audio file object.

### Reading and Writing Audio Data

[`ExtAudioFileRead(_:_:_:)`](/documentation/AudioToolbox/ExtAudioFileRead(_:_:_:))

Performs a synchronous, sequential read operation on an audio file.

[`ExtAudioFileSeek(_:_:)`](/documentation/AudioToolbox/ExtAudioFileSeek(_:_:))

Seeks to a specified frame in a file.

[`ExtAudioFileTell(_:_:)`](/documentation/AudioToolbox/ExtAudioFileTell(_:_:))

Gets an audio file’s read/write position.

[`ExtAudioFileWrite(_:_:_:)`](/documentation/AudioToolbox/ExtAudioFileWrite(_:_:_:))

Performs a synchronous, sequential write operation on an audio file.

[`ExtAudioFileWriteAsync(_:_:_:)`](/documentation/AudioToolbox/ExtAudioFileWriteAsync(_:_:_:))

Perform an asynchronous, sequential write operation on an audio file.

### Deprecated Functions

[`ExtAudioFileCreateNew`](/documentation/AudioToolbox/ExtAudioFileCreateNew)

Deprecated. Use the [`ExtAudioFileCreateWithURL(_:_:_:_:_:_:)`](/documentation/AudioToolbox/ExtAudioFileCreateWithURL(_:_:_:_:_:_:)) function instead.

[`ExtAudioFileOpen`](/documentation/AudioToolbox/ExtAudioFileOpen)

Deprecated. Use the [`ExtAudioFileOpenURL(_:_:)`](/documentation/AudioToolbox/ExtAudioFileOpenURL(_:_:)) function instead.

### Data Types

[`ExtAudioFilePacketTableInfoOverride`](/documentation/AudioToolbox/ExtAudioFilePacketTableInfoOverride)

[`ExtAudioFileRef`](/documentation/AudioToolbox/ExtAudioFileRef)

An opaque structure representing an extended audio file object.

[`ExtAudioFilePropertyID`](/documentation/AudioToolbox/ExtAudioFilePropertyID)

An audio file object property identifier.

### Constants

[Extended Audio FIle Errors](/documentation/AudioToolbox/1486883-extended-audio-file-errors)

[Codec Unavailable Errors](/documentation/AudioToolbox/1623673-codec-unavailable-errors)

[Property Identifiers for Extended Audio File Objects](/documentation/AudioToolbox/1486859-property-identifiers-for-extende)

[Extended Audio File Packet Overrides](/documentation/AudioToolbox/3547074-extended-audio-file-packet-overr)

### Result Codes

This table lists result codes defined for Extended Audio File Services.

[`kExtAudioFileError_CodecUnavailableInputConsumed`](/documentation/AudioToolbox/kExtAudioFileError_CodecUnavailableInputConsumed)

The [`ExtAudioFileWrite(_:_:_:)`](/documentation/AudioToolbox/ExtAudioFileWrite(_:_:_:)) function was interrupted and the last buffer that you provided was successfully written to disk.

[`kExtAudioFileError_CodecUnavailableInputNotConsumed`](/documentation/AudioToolbox/kExtAudioFileError_CodecUnavailableInputNotConsumed)

The [`ExtAudioFileWrite(_:_:_:)`](/documentation/AudioToolbox/ExtAudioFileWrite(_:_:_:)) function was interrupted and the last buffer that you provided was *not* successfully written to disk.

[`kExtAudioFileError_InvalidProperty`](/documentation/AudioToolbox/kExtAudioFileError_InvalidProperty)

[`kExtAudioFileError_InvalidPropertySize`](/documentation/AudioToolbox/kExtAudioFileError_InvalidPropertySize)

[`kExtAudioFileError_NonPCMClientFormat`](/documentation/AudioToolbox/kExtAudioFileError_NonPCMClientFormat)

[`kExtAudioFileError_InvalidChannelMap`](/documentation/AudioToolbox/kExtAudioFileError_InvalidChannelMap)

The number of channels does not match the specified format.

[`kExtAudioFileError_InvalidOperationOrder`](/documentation/AudioToolbox/kExtAudioFileError_InvalidOperationOrder)

[`kExtAudioFileError_InvalidDataFormat`](/documentation/AudioToolbox/kExtAudioFileError_InvalidDataFormat)

[`kExtAudioFileError_MaxPacketSizeUnknown`](/documentation/AudioToolbox/kExtAudioFileError_MaxPacketSizeUnknown)

[`kExtAudioFileError_InvalidSeek`](/documentation/AudioToolbox/kExtAudioFileError_InvalidSeek)

An attempt to write, or an offset, is out of bounds.

[`kExtAudioFileError_AsyncWriteTooLarge`](/documentation/AudioToolbox/kExtAudioFileError_AsyncWriteTooLarge)

[`kExtAudioFileError_AsyncWriteBufferOverflow`](/documentation/AudioToolbox/kExtAudioFileError_AsyncWriteBufferOverflow)

An asynchronous write operation could not be completed in time.



---

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)