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

# playAudio(_:)

Prepares and plays a new audio playback instance on this entity.

## Declaration

```swift
@discardableResult @MainActor @preconcurrency func playAudio(_ resource: AudioResource) -> AudioPlaybackController
```

## Parameters

- `resource`: The audio resource the method plays. Load an audio resource from the file system with doc://com.apple.RealityKit/documentation/RealityKit/AudioFileResource/init(named:in:configuration:) , or from a URL with doc://com.apple.RealityKit/documentation/RealityKit/AudioFileResource/init(contentsOf:withName:configuration:).

## Return Value

Return Value An AudioPlaybackController object that you can use to start and stop audio playback for this specific instance of a resource playing on this entity. You can also use this controller to update playback properties, such as gain and speed, during playback.

## Discussion

Discussion The method prepares the audio by calling prepareAudio(_:), and then immediately calls the play() method of the controller that it returns. To begin multiple playback instances you can call playAudio multiple times.

## See Also

### Playing audio

- [playAudio(configuration:_:)](realitykit/entity/playaudio(configuration:_:).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)
