<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.10.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFAudio",
  "identifier" : "/documentation/AVFAudio/AVAudioMixing",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "AVFAudio"
    ],
    "preciseIdentifier" : "c:objc(pl)AVAudioMixing"
  },
  "title" : "AVAudioMixing"
}
-->

# AVAudioMixing

A collection of properties that are applicable to the input bus of a mixer node.

```
protocol AVAudioMixing : AVAudio3DMixing, AVAudioStereoMixing
```

## Overview

Nodes that conform to the `AVAudioMixing` protocol can talk to a mixer node downstream. This is specific to the classes [`AVAudioMixerNode`](/documentation/AVFAudio/AVAudioMixerNode) and [`AVAudioEnvironmentNode`](/documentation/AVFAudio/AVAudioEnvironmentNode). Effect nodes can’t talk to their downstream mixer.

When connecting a source node, the properties that this protocol defines apply to the respective input bus of the mixer.

You can change the state of properties before connecting a source node to the mixer. The system caches your changes and applies them upon connection. It caches the properties again after disconnection.

Source nodes maintain mixing settings when switching between different mixers. For example, an [`AVAudioPlayerNode`](/documentation/AVFAudio/AVAudioPlayerNode), in a gaming scenario, can set up 3D mixing settings and then move from one environment to another.

> Important:
> Several classes adopt the `AVAudioMixing` protocol. The protocol itself conforms to ``doc://com.apple.avfaudio/documentation/AVFAudio/AVAudio3DMixing`` and ``doc://com.apple.avfaudio/documentation/AVFAudio/AVAudioStereoMixing``. Classes that conform to `AVAudioMixing` also conform to those protocols.

## Topics

### Defining Mixing Properties

[`AVAudioStereoMixing`](/documentation/AVFAudio/AVAudioStereoMixing)

A protocol that defines stereo mixing properties a mixer uses.

[`AVAudio3DMixing`](/documentation/AVFAudio/AVAudio3DMixing)

A collection of properties that define 3D mixing properties.

### Getting and Setting the Destination

[`AVAudioMixingDestination`](/documentation/AVFAudio/AVAudioMixingDestination)

An object that represents a connection to a mixer node from a node that conforms to the audio mixing protocol.

[`destination(forMixer:bus:)`](/documentation/AVFAudio/AVAudioMixing/destination(forMixer:bus:))

Gets the audio mixing destination object that corresponds to the specified mixer node and input bus.

### Getting and Setting the Bus Volume

[`volume`](/documentation/AVFAudio/AVAudioMixing/volume)

The bus’s input volume.



---

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)