---
title: "playAudio(configuration:_:)"
framework: realitykit
role: symbol
role_heading: Instance Method
path: "realitykit/entity/playaudio(configuration:_:)"
---

# playAudio(configuration:_:)

Prepares and plays a real-time audio playback instance.

## Declaration

```swift
@MainActor @preconcurrency func playAudio(configuration: AudioGeneratorConfiguration = .init(), _ generatorRenderHandler: @escaping Audio.GeneratorRenderHandler) throws -> AudioGeneratorController
```

## Parameters

- `configuration`: A set of configuration parameters necessary for initializing and rendering the generatorRenderHandler.
- `generatorRenderHandler`: The audio render handler to play. The system runs this handler to generate real-time audio.

## Return Value

Return Value An AudioGeneratorController instance that you use to manage audio playback. Use the controller to set the volume and start or stop playback.

## Discussion

Discussion Maintain playback by keeping a reference to the generator controller. note: See Audio.GeneratorRenderHandler for compliance with Swift 6 concurrency.

## See Also

### Playing audio

- [playAudio(_:)](realitykit/entity/playaudio(_:).md)
- [prepareAudio(configuration:_:)](realitykit/entity/prepareaudio(configuration:_:).md)
- [prepareAudio(_:)](realitykit/entity/prepareaudio(_:).md)
- [stopAllAudio()](realitykit/entity/stopallaudio().md)
- [spatialAudio](realitykit/entity/spatialaudio.md)
- [ambientAudio](realitykit/entity/ambientaudio.md)
- [channelAudio](realitykit/entity/channelaudio.md)
