Options
All
  • Public
  • Public/Protected
  • All
Menu

Defines a sound that can be played in the application. The sound can either be an ambient track or a simple sound played in reaction to a user action.

see

https://doc.babylonjs.com/how_to/playing_sounds_and_music

Hierarchy

  • Sound

Index

Constructors

  • Create a sound and attach it to a scene

    Parameters

    • name: string

      Name of your sound

    • urlOrArrayBuffer: any

      Url to the sound to load async or ArrayBuffer, it also works with MediaStreams and AudioBuffers

    • Optional scene: Nullable<Scene>

      defines the scene the sound belongs to

    • Optional readyToPlayCallback: Nullable<(() => void)>

      Provide a callback function if you'd like to load your code once the sound is ready to be played

    • Optional options: ISoundOptions

      Objects to provide with the current available options: autoplay, loop, volume, spatialSound, maxDistance, rolloffFactor, refDistance, distanceModel, panningModel, streaming

    Returns Sound

Properties

autoplay: boolean

Does the sound autoplay once loaded.

distanceModel: string

Define the distance attenuation model the sound will follow.

see

https://doc.babylonjs.com/how_to/playing_sounds_and_music#creating-a-spatial-3d-sound

isPaused: boolean

Is this sound currently paused.

isPlaying: boolean

Is this sound currently played.

maxDistance: number

Define the max distance the sound should be heard (intensity just became 0 at this point).

see

https://doc.babylonjs.com/how_to/playing_sounds_and_music#creating-a-spatial-3d-sound

metadata: any

Gets or sets an object used to store user defined information for the sound.

name: string

The name of the sound in the scene.

onEndedObservable: Observable<Sound>

Observable event when the current playing sound finishes.

onended: (() => any)

Type declaration

    • (): any
    • internal

      Back Compat

      Returns any

refDistance: number

Define the reference distance the sound should be heard perfectly.

see

https://doc.babylonjs.com/how_to/playing_sounds_and_music#creating-a-spatial-3d-sound

rolloffFactor: number
soundTrackId: number

The sound track id this sound belongs to.

useCustomAttenuation: boolean

Does the sound use a custom attenuation curve to simulate the falloff happening when the source gets further away from the camera.

see

https://doc.babylonjs.com/how_to/playing_sounds_and_music#creating-your-own-custom-attenuation-function

_SceneComponentInitialization: ((scene: Scene) => void)

Type declaration

    • internal

      Parameters

      Returns void

Accessors

  • get currentTime(): number
  • Gets the current time for the sound.

    Returns number

  • get directionalConeInnerAngle(): number
  • set directionalConeInnerAngle(value: number): void
  • Gets or sets the inner angle for the directional cone.

    Returns number

  • Gets or sets the inner angle for the directional cone.

    Parameters

    • value: number

    Returns void

  • get directionalConeOuterAngle(): number
  • set directionalConeOuterAngle(value: number): void
  • Gets or sets the outer angle for the directional cone.

    Returns number

  • Gets or sets the outer angle for the directional cone.

    Parameters

    • value: number

    Returns void

  • get loop(): boolean
  • set loop(value: boolean): void
  • Does the sound loop after it finishes playing once.

    Returns boolean

  • Does the sound loop after it finishes playing once.

    Parameters

    • value: boolean

    Returns void

  • get spatialSound(): boolean
  • set spatialSound(newValue: boolean): void

Methods

  • Clone the current sound in the scene.

    Returns Nullable<Sound>

    the new sound clone

  • connectToSoundTrackAudioNode(soundTrackAudioNode: AudioNode): void
  • Connect this sound to a sound track audio node like gain...

    Parameters

    • soundTrackAudioNode: AudioNode

      the sound track audio node to connect to

    Returns void

  • detachFromMesh(): void
  • dispose(): void
  • Release the sound and its associated resources

    Returns void

  • Gets the current underlying audio buffer containing the data

    Returns Nullable<AudioBuffer>

    the audio buffer

  • getClassName(): string
  • Get the current class name.

    Returns string

    current class name

  • Gets the WebAudio GainNode, gives you precise control over the gain of instances of this Sound.

    Returns Nullable<GainNode>

    the gain node

  • getSoundSource(): Nullable<AudioBufferSourceNode>
  • Gets the WebAudio AudioBufferSourceNode, lets you keep track of and stop instances of this Sound.

    Returns Nullable<AudioBufferSourceNode>

    the source node

  • getVolume(): number
  • Gets the volume of the sound.

    Returns number

    the volume of the sound

  • isReady(): boolean
  • Gets if the sounds is ready to be played or not.

    Returns boolean

    true if ready, otherwise false

  • pause(): void
  • Put the sound in pause

    Returns void

  • play(time?: number, offset?: number, length?: number): void
  • Play the sound

    Parameters

    • Optional time: number

      (optional) Start the sound after X seconds. Start immediately (0) by default.

    • Optional offset: number

      (optional) Start the sound at a specific time in seconds

    • Optional length: number

      (optional) Sound duration (in seconds)

    Returns void

  • serialize(): any
  • Serializes the Sound in a JSON representation

    Returns any

    the JSON representation of the sound

  • setAttenuationFunction(callback: ((currentVolume: number, currentDistance: number, maxDistance: number, refDistance: number, rolloffFactor: number) => number)): void
  • Parameters

    • callback: ((currentVolume: number, currentDistance: number, maxDistance: number, refDistance: number, rolloffFactor: number) => number)

      Defines the function used for the attenuation

        • (currentVolume: number, currentDistance: number, maxDistance: number, refDistance: number, rolloffFactor: number): number
        • Parameters

          • currentVolume: number
          • currentDistance: number
          • maxDistance: number
          • refDistance: number
          • rolloffFactor: number

          Returns number

    Returns void

  • setAudioBuffer(audioBuffer: AudioBuffer): void
  • Sets the data of the sound from an audiobuffer

    Parameters

    • audioBuffer: AudioBuffer

      The audioBuffer containing the data

    Returns void

  • setDirectionalCone(coneInnerAngle: number, coneOuterAngle: number, coneOuterGain: number): void
  • Transform this sound into a directional source

    Parameters

    • coneInnerAngle: number

      Size of the inner cone in degree

    • coneOuterAngle: number

      Size of the outer cone in degree

    • coneOuterGain: number

      Volume of the sound outside the outer cone (between 0.0 and 1.0)

    Returns void

  • setLocalDirectionToMesh(newLocalDirection: Vector3): void
  • Sets the local direction of the emitter if spatial sound is enabled

    Parameters

    • newLocalDirection: Vector3

      Defines the new local direction

    Returns void

  • setPlaybackRate(newPlaybackRate: number): void
  • Set the sound play back rate

    Parameters

    • newPlaybackRate: number

      Define the playback rate the sound should be played at

    Returns void

  • setPosition(newPosition: Vector3): void
  • Sets the position of the emitter if spatial sound is enabled

    Parameters

    • newPosition: Vector3

      Defines the new position

    Returns void

  • setVolume(newVolume: number, time?: number): void
  • Sets a dedicated volume for this sounds

    Parameters

    • newVolume: number

      Define the new volume of the sound

    • Optional time: number

      Define time for gradual change to new volume

    Returns void

  • stop(time?: number): void
  • Stop the sound

    Parameters

    • Optional time: number

      (optional) Stop the sound after X seconds. Stop immediately (0) by default.

    Returns void

  • switchPanningModelToEqualPower(): void
  • switchPanningModelToHRTF(): void
  • updateDistanceFromListener(): void
  • internal

    Returns void

  • Updates the current sounds options such as maxdistance, loop...

    Parameters

    • options: ISoundOptions

      A JSON object containing values named as the object properties

    Returns void

  • Parse(parsedSound: any, scene: Scene, rootUrl: string, sourceSound?: Sound): Sound
  • Parse a JSON representation of a sound to instantiate in a given scene

    Parameters

    • parsedSound: any

      Define the JSON representation of the sound (usually coming from the serialize method)

    • scene: Scene

      Define the scene the new parsed sound should be created in

    • rootUrl: string

      Define the rooturl of the load in case we need to fetch relative dependencies

    • Optional sourceSound: Sound

      Define a sound place holder if do not need to instantiate a new one

    Returns Sound

    the newly parsed sound

Legend

  • Constructor
  • Property
  • Method
  • Accessor
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme