<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "visionOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AudioToolbox",
  "identifier" : "/documentation/AudioToolbox/SpatialAudioExperience",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Audio Toolbox"
    ],
    "preciseIdentifier" : "s:12AudioToolbox07SpatialA10ExperienceP"
  },
  "title" : "SpatialAudioExperience"
}
-->

# SpatialAudioExperience

Configure an audio stream for spatial computing.

```
protocol SpatialAudioExperience : Decodable, Encodable, Hashable, Sendable
```

## Overview

All audio playback APIs support 3D spatial rendering using SpatialAudioExperience.
For example, with <doc://com.apple.documentation/documentation/AVFAudio/AVAudioPlayer>:

```swift
// Create a player.
let myPlayer = try AVAudioPlayer(contentsOf: myAudioFileURL)

// Configure an audio player with a head-tracked spatial audio experience
// so that it's audible from a distinct location in space.
myPlayer.intendedSpatialExperience = .headTracked

// Play sound with the configured spatial audio experience.
player.play()
```

> SeeAlso:
> 
> - ``doc://com.apple.audiotoolbox/documentation/AudioToolbox/SpatialAudioExperiences/AnchoringStrategy``
> - ``doc://com.apple.audiotoolbox/documentation/AudioToolbox/SpatialAudioExperiences/SoundStageSize``

## Topics

### Type Properties

[`static var automatic: AutomaticSpatialAudio`](/documentation/AudioToolbox/SpatialAudioExperience/automatic)

An automatic spatial experience.

[`static var bypassed: BypassedSpatialAudio`](/documentation/AudioToolbox/SpatialAudioExperience/bypassed)

A bypassed spatial audio experience.

[`static var fixed: FixedSpatialAudio`](/documentation/AudioToolbox/SpatialAudioExperience/fixed)

A fixed spatial audio experience with an automatic sound stage size.

[`static var headTracked: HeadTrackedSpatialAudio`](/documentation/AudioToolbox/SpatialAudioExperience/headTracked)

A head-tracked spatial audio experience with an automatic anchoring
strategy and automatic sound stage size.

### Type Methods

[`static func fixed(soundStageSize: SpatialAudioExperiences.SoundStageSize) -> Self`](/documentation/AudioToolbox/SpatialAudioExperience/fixed(soundStageSize:))

Create a fixed spatial audio experience with a specific sound stage size.

[`static func headTracked(SpatialAudioExperiences.AnchoringStrategy, soundStageSize: SpatialAudioExperiences.SoundStageSize) -> Self`](/documentation/AudioToolbox/SpatialAudioExperience/headTracked(_:soundStageSize:))

Create a head-tracked spatial audio experience with a specific anchoring
strategy and sound stage size.

## Relationships

### Conforming Types

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

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

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

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

### Inherits From

[`Hashable`](/documentation/Swift/Hashable)

[`Decodable`](/documentation/Swift/Decodable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

[`Encodable`](/documentation/Swift/Encodable)

[`Equatable`](/documentation/Swift/Equatable)

---

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)