---
title: SCNAudioSource
framework: scenekit
role: symbol
role_heading: Class
path: scenekit/scnaudiosource
---

# SCNAudioSource

A simple, reusable audio source—music or sound effects loaded from a file—for use in positional audio playback.

## Declaration

```swift
class SCNAudioSource
```

## Overview

Overview To create positional audio effects, create an SCNAudioPlayer object from the audio source to control playback, and add that player object to an SCNNode object in your scene. SceneKit then automatically spatializes 3D audio effects based on the position of that node relative to the scene’s audioListener node.

## Topics

### Creating an Audio Source

- [init(named:)](scenekit/scnaudiosource/init(named:).md)
- [init(fileNamed:)](scenekit/scnaudiosource/init(filenamed:).md)
- [init(url:)](scenekit/scnaudiosource/init(url:)-3qyjs.md)

### Controlling 3D Audio Spatialization

- [isPositional](scenekit/scnaudiosource/ispositional.md)

### Preloading Audio Data

- [load()](scenekit/scnaudiosource/load().md)

### Setting Default Playback Parameters

- [volume](scenekit/scnaudiosource/volume.md)
- [rate](scenekit/scnaudiosource/rate.md)
- [reverbBlend](scenekit/scnaudiosource/reverbblend.md)
- [loops](scenekit/scnaudiosource/loops.md)
- [shouldStream](scenekit/scnaudiosource/shouldstream.md)

### Initializers

- [init(URL:)](scenekit/scnaudiosource/init(url:)-8cknu.md)
- [init(coder:)](scenekit/scnaudiosource/init(coder:).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)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Audio

- [SCNAudioPlayer](scenekit/scnaudioplayer.md)
