<!--
{
  "availability" : [
    "DriverKit: 21.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AudioDriverKit",
  "identifier" : "/documentation/AudioDriverKit",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "AudioDriverKit"
    ],
    "preciseIdentifier" : "AudioDriverKit"
  },
  "title" : "AudioDriverKit"
}
-->

# AudioDriverKit

Develop drivers for audio devices.

## Overview

The AudioDriverKit framework supports the development of <doc://com.apple.documentation/documentation/DriverKit>-based audio extensions that communicate with the CoreAudio HAL. AudioDriverKit handles all of the necessary user client communication between the CoreAudio HAL and the driver extension, which eliminates the need to implement an audio server plug-in. You can also integrate with transport-based driver extension frameworks like <doc://com.apple.documentation/documentation/PCIDriverKit>.

Develop your driver by subclassing [`IOUserAudioDriver`](/documentation/AudioDriverKit/IOUserAudioDriver). On macOS, use the <doc://com.apple.documentation/documentation/SystemExtensions> framework to install and upgrade your driver. On iPadOS, the system automatically discovers and upgrades drivers along with their host apps.

> Note:
> AudioDriverKit is available on macOS for Intel and Apple Silicon devices, and on iPadOS for devices with an M-series processor.

## Topics

### Essentials

[`IOUserAudioObject`](/documentation/AudioDriverKit/IOUserAudioObject)

The base class for most classes in the framework.

[`IOUserAudioDriver`](/documentation/AudioDriverKit/IOUserAudioDriver)

A DriverKit provider object that manages communications with an audio device.

  <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.driverkit.family.audio>

[Creating an audio device driver](/documentation/AudioDriverKit/creating-an-audio-device-driver)

Implement a configurable audio input source as a driver extension that runs in user space in macOS and iPadOS.

### Working with Audio Devices

[`IOUserAudioClockDevice`](/documentation/AudioDriverKit/IOUserAudioClockDevice)

An audio clock device object, used to synchronize and perform I/O.

[`IOUserAudioDevice`](/documentation/AudioDriverKit/IOUserAudioDevice)

An audio clock device object that handles the configurations for running I/O.

### Containing Audio Objects

[`IOUserAudioBox`](/documentation/AudioDriverKit/IOUserAudioBox)

A container for other audio objects, typically audio devices and audio clock devices.

### Working with Audio Streams

[`IOUserAudioStream`](/documentation/AudioDriverKit/IOUserAudioStream)

An audio object that performs I/O for an audio device.

### Using Audio Controls

[`IOUserAudioControl`](/documentation/AudioDriverKit/IOUserAudioControl)

The base class for audio control objects.

[`IOUserAudioBooleanControl`](/documentation/AudioDriverKit/IOUserAudioBooleanControl)

A control object that supports setting a Boolean value.

[`IOUserAudioStereoPanControl`](/documentation/AudioDriverKit/IOUserAudioStereoPanControl)

A control object that supports panning between stereo channels.

[`IOUserAudioSliderControl`](/documentation/AudioDriverKit/IOUserAudioSliderControl)

A control object that supports setting a 32-bit integer value.

[`IOUserAudioSelectorControl`](/documentation/AudioDriverKit/IOUserAudioSelectorControl)

A control object that supports selecting from a set of values.

[`IOUserAudioLevelControl`](/documentation/AudioDriverKit/IOUserAudioLevelControl)

A control object that supports setting an audio level, with either scalar or decibel values.

### Supporting Types

[`IOUserAudioReservedConfigChangeAction`](/documentation/AudioDriverKit/AudioDriverKit/IOUserAudioReservedConfigChangeAction)

Identifiers for object state changes that require a configuration change.



---

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)