---
title: Audio
framework: kernel
role: collectionGroup
role_heading: API Collection
path: kernel/hardware_families/audio
---

# Audio

Implement a driver that interacts with audio hardware.

## Topics

### Interfaces

- [IOAudioLevelControl](kernel/ioaudiolevelcontrol.md)
- [IOAudioSelectorControl](kernel/ioaudioselectorcontrol.md)
- [IOAudioToggleControl](kernel/ioaudiotogglecontrol.md)
- [IOAudioControl](kernel/ioaudiocontrol.md)
- [IOAudioEngine](kernel/ioaudioengine.md)
- [IOAudioStream](kernel/ioaudiostream.md)
- [IOAudioPort](kernel/ioaudioport.md)

### Devices

- [IOAudioDevice](kernel/ioaudiodevice.md)

### User-Space Access

- [IOAudioControlUserClient](kernel/ioaudiocontroluserclient.md)
- [IOAudioEngineUserClient](kernel/ioaudioengineuserclient.md)

### Descriptors

- [IOAudioBufferDataDescriptor](kernel/ioaudiobufferdatadescriptor.md)
- [IOAudioSampleIntervalDescriptor](kernel/ioaudiosampleintervaldescriptor.md)
- [IOAudioStreamDataDescriptor](kernel/ioaudiostreamdatadescriptor.md)

### Audio Data

- [IOAudioEngineNotifications](kernel/ioaudioenginenotifications.md)
- [IOAudioEngineTraps](kernel/ioaudioenginetraps.md)
- [IOAudioSampleRate](kernel/ioaudiosamplerate.md)
- [IOAudioStreamFormat](kernel/ioaudiostreamformat.md)
- [IOAudioStreamFormatExtension](kernel/ioaudiostreamformatextension.md)
- [IOAudioTimeStamp](kernel/ioaudiotimestamp.md)
- [IOAudioClientBuffer](kernel/ioaudioclientbuffer.md)
- [IOAudioClientBuffer64](kernel/ioaudioclientbuffer64.md)
- [IOAudioClientBufferExtendedInfo](kernel/ioaudioclientbufferextendedinfo.md)
- [IOAudioClientBufferExtendedInfo64](kernel/ioaudioclientbufferextendedinfo64.md)
- [IOAudioEnginePosition](kernel/ioaudioengineposition.md)
- [IOAF_bcopy_WriteCombine](kernel/1416189-ioaf_bcopy_writecombine.md)
- [UInt64mult](kernel/1402722-uint64mult.md)

### Conversions

- [IOAF_Float32ToInt8](kernel/3242800-ioaf_float32toint8.md)
- [IOAF_Float32ToNativeInt16](kernel/1416160-ioaf_float32tonativeint16.md)
- [IOAF_Float32ToNativeInt24](kernel/1416158-ioaf_float32tonativeint24.md)
- [IOAF_Float32ToNativeInt32](kernel/1416171-ioaf_float32tonativeint32.md)
- [IOAF_Float32ToSwapInt16](kernel/1416149-ioaf_float32toswapint16.md)
- [IOAF_Float32ToSwapInt24](kernel/1416187-ioaf_float32toswapint24.md)
- [IOAF_Float32ToSwapInt32](kernel/1416170-ioaf_float32toswapint32.md)
- [IOAF_Int8ToFloat32](kernel/3242801-ioaf_int8tofloat32.md)
- [IOAF_NativeInt16ToFloat32](kernel/1416175-ioaf_nativeint16tofloat32.md)
- [IOAF_NativeInt24ToFloat32](kernel/1416169-ioaf_nativeint24tofloat32.md)
- [IOAF_NativeInt32ToFloat32](kernel/1416152-ioaf_nativeint32tofloat32.md)
- [IOAF_SwapInt16ToFloat32](kernel/1416179-ioaf_swapint16tofloat32.md)
- [IOAF_SwapInt24ToFloat32](kernel/1416164-ioaf_swapint24tofloat32.md)
- [IOAF_SwapInt32ToFloat32](kernel/1416183-ioaf_swapint32tofloat32.md)

## See Also

### Interfaces

- [Graphics and Displays](kernel/hardware_families/graphics_and_displays.md)
- [HID](kernel/hardware_families/hid.md)
- [Network](kernel/hardware_families/network.md)
- [SCSI](kernel/hardware_families/scsi.md)
- [Mass Storage](kernel/hardware_families/mass_storage.md)
