Skip to content

Class: AudioPool<T>

Defined in: packages/core/src/audio/audio-pool.ts:41

Fixed-size pool of Three.js Audio/PositionalAudio objects.

Remarks

  • Pre-allocates a number of audio nodes under a hidden Group attached to the parent.
  • Minimizes GC churn by reusing nodes across playbacks.
  • Used internally by AudioSystem, but exposed for advanced scenarios.

Type Parameters

T

T extends AmbientAudio | PositionalAudio

Constructors

Constructor

new AudioPool<T>(listener, size, positional, parent): AudioPool<T>

Defined in: packages/core/src/audio/audio-pool.ts:53

Create a pool.

Parameters

listener

AudioListener

AudioListener to attach to each instance.

size

number

Number of instances to pre‑allocate.

positional

boolean

When true, creates PositionalAudio; otherwise ambient Audio.

parent

Object3D

Group/Object3D to attach internal container to.

Returns

AudioPool<T>

Methods

acquire()

acquire(): T

Defined in: packages/core/src/audio/audio-pool.ts:75

Acquire an available audio node or null if exhausted.

Returns

T


dispose()

dispose(): void

Defined in: packages/core/src/audio/audio-pool.ts:114

Disconnect and dispose all nodes and the container.

Returns

void


getActiveCount()

getActiveCount(): number

Defined in: packages/core/src/audio/audio-pool.ts:132

Number of nodes currently checked out.

Returns

number


getAllInstances()

getAllInstances(): T[]

Defined in: packages/core/src/audio/audio-pool.ts:142

Return all nodes (checked out and available).

Returns

T[]


getTotalCount()

getTotalCount(): number

Defined in: packages/core/src/audio/audio-pool.ts:137

Total nodes in the pool.

Returns

number


release()

release(audio): void

Defined in: packages/core/src/audio/audio-pool.ts:85

Stop, reset volume, and return an audio node to the pool.

Parameters

audio

T

Returns

void


releaseAll()

releaseAll(): void

Defined in: packages/core/src/audio/audio-pool.ts:101

Stop and return all nodes to the available pool.

Returns

void

Privacy | Terms