---
title: AVAudioIONode
framework: avfaudio
role: symbol
role_heading: Class
path: avfaudio/avaudioionode
---

# AVAudioIONode

An object that performs audio input or output in the engine.

## Declaration

```swift
class AVAudioIONode
```

## Overview

Overview When rendering to and from an audio device in macOS, AVAudioInputNode and AVAudioOutputNode communicate with the system’s default input and output devices. In iOS, they communicate with the devices appropriate to the app’s AVAudioSession category, configurations, and user actions, such as connecting or disconnecting external devices. In the manual rendering mode, AVAudioInputNode and AVAudioOutputNode perform the input and output in the engine in response to the client’s request.

## Topics

### Getting the I/O Latency

- [presentationLatency](avfaudio/avaudioionode/presentationlatency.md)

### Getting and Setting the Voice Processing State

- [setVoiceProcessingEnabled(_:)](avfaudio/avaudioionode/setvoiceprocessingenabled(_:).md)
- [isVoiceProcessingEnabled](avfaudio/avaudioionode/isvoiceprocessingenabled.md)

### Instance Properties

- [audioUnit](avfaudio/avaudioionode/audiounit-1bqu3.md)
- [audioUnit](avfaudio/avaudioionode/audiounit-1caha.md)

### Instance Methods

- [withAudioUnit(_:)](avfaudio/avaudioionode/withaudiounit(_:)-57kv.md)
- [withAudioUnit(_:)](avfaudio/avaudioionode/withaudiounit(_:)-6i8ld.md)

## Relationships

### Inherits From

- [AVAudioNode](avfaudio/avaudionode.md)

### Inherited By

- [AVAudioInputNode](avfaudio/avaudioinputnode.md)
- [AVAudioOutputNode](avfaudio/avaudiooutputnode.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Nodes

- [AVAudioNode](avfaudio/avaudionode.md)
- [AVAudioInputNode](avfaudio/avaudioinputnode.md)
- [AVAudioOutputNode](avfaudio/avaudiooutputnode.md)
