Strata - v1.4.10
    Preparing search index...

    Class SpatialAudio

    Manages 3D spatial audio using Three.js PositionalAudio.

    const listener = new THREE.AudioListener();
    camera.add(listener);

    const spatial = createSpatialAudio(listener);
    await spatial.load('engine', '/audio/engine.mp3', {
    refDistance: 5,
    maxDistance: 50,
    });

    const source = spatial.getSource('engine');
    source?.position.set(10, 0, 0);
    spatial.play('engine');
    Index

    Constructors

    Methods

    • Creates a spatial audio source from an existing buffer.

      Parameters

      • id: string

        Unique identifier

      • bufferId: string

        ID of a previously loaded buffer

      • config: SpatialConfig = {}

        Spatial configuration

      Returns PositionalAudio | undefined

      The created PositionalAudio or undefined

      await spatial.load('step', '/audio/step.mp3');
      const instance = spatial.createFromBuffer('step-2', 'step');
    • Gets a spatial audio source by ID.

      Parameters

      • id: string

        Source identifier

      Returns PositionalAudio | undefined

      The PositionalAudio instance or undefined

    • Checks if a spatial audio source is playing.

      Parameters

      • id: string

        Source identifier

      Returns boolean

      True if playing

    • Loads and creates a spatial audio source.

      Parameters

      • id: string

        Unique identifier for the audio source

      • url: string

        URL to the audio file

      • config: SpatialConfig = {}

        Spatial configuration options

      Returns Promise<PositionalAudio>

      Promise resolving to the PositionalAudio instance

      const source = await spatial.load('footsteps', '/audio/steps.mp3', {
      refDistance: 2,
      maxDistance: 20,
      rolloffFactor: 1.5,
      });
      source.position.set(5, 0, 3);
    • Plays a spatial audio source.

      Parameters

      • id: string

        Source identifier

      • loop: boolean = false

        Whether to loop the audio

      Returns void

      spatial.play('engine', true);
      
    • Removes a spatial audio source.

      Parameters

      • id: string

        Source identifier

      Returns void

    • Updates the position of a spatial audio source.

      Parameters

      • id: string

        Source identifier

      • x: number

        X position

      • y: number

        Y position

      • z: number

        Z position

      Returns void

      spatial.setPosition('enemy', 10, 0, 5);
      
    • Updates the position of a spatial audio source using a Vector3.

      Parameters

      • id: string

        Source identifier

      • position: Vector3

        Position vector

      Returns void

    • Sets the volume of a spatial audio source.

      Parameters

      • id: string

        Source identifier

      • volume: number

        Volume level (0.0 to 1.0)

      Returns void