---
title: SCNAudioPlayer
framework: scenekit
role: symbol
role_heading: Class
path: scenekit/scnaudioplayer
---

# SCNAudioPlayer

A controller for playback of a positional audio source in a SceneKit scene.

## Declaration

```swift
class SCNAudioPlayer
```

## Overview

Overview An SCNAudioPlayer object controls playback of a positional audio source in a SceneKit scene. To use positional audio, first create a reusable SCNAudioSource or AVAudioNode object to provide an audio stream. Then, create an audio player to control the playback of that audio source. Finally, attach the audio player to an SCNNode object for spatialized 3D audio playback based on the position of that node relative to the scene’s audioListener node.

## Topics

### Creating an Audio Player

- [init(source:)](scenekit/scnaudioplayer/init(source:).md)
- [init(avAudioNode:)](scenekit/scnaudioplayer/init(avaudionode:)-4u514.md)

### Working with Audio Sources

- [audioSource](scenekit/scnaudioplayer/audiosource.md)
- [audioNode](scenekit/scnaudioplayer/audionode.md)

### Responding to Playback

- [willStartPlayback](scenekit/scnaudioplayer/willstartplayback.md)
- [didFinishPlayback](scenekit/scnaudioplayer/didfinishplayback.md)

### Initializers

- [init(AVAudioNode:)](scenekit/scnaudioplayer/init(avaudionode:)-1xsj6.md)
- [init(AVAudioNode:)](scenekit/scnaudioplayer/init(avaudionode:)-6dktc.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.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)

## See Also

### Audio

- [SCNAudioSource](scenekit/scnaudiosource.md)
