phaser - v4.0.0-rc.4
    Preparing search index...

    Class WebAudioSoundManager

    Web Audio API implementation of the Sound Manager.

    Not all browsers can play all audio formats.

    There is a good guide to what's supported: Cross-browser audio basics: Audio codec support.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    context: AudioContext

    The AudioContext being used for playback.

    destination: AudioNode

    Destination node for connecting individual sounds to.

    detune: number

    Global detuning of all sounds in cents. The range of the value is -1200 to 1200, but we recommend setting it to 50.

    game: Game

    Local reference to game.

    gameLostFocus: boolean

    Flag used to track if the game has lost focus.

    jsonCache: BaseCache

    Local reference to the JSON Cache, as used by Audio Sprites.

    listenerPosition: Math.Vector2

    The Spatial Audio listener position.

    Only available with WebAudio.

    You can modify the x/y properties of this Vec2 directly to adjust the listener position within the game world.

    locked: boolean

    Mobile devices require sounds to be triggered from an explicit user action, such as a tap, before any sound can be loaded/played on a web page. Set to true if the audio system is currently locked awaiting user interaction.

    masterMuteNode: GainNode

    Gain node responsible for controlling global muting.

    masterVolumeNode: GainNode

    Gain node responsible for controlling global volume.

    mute: boolean

    Global mute setting.

    pauseOnBlur: boolean

    Flag indicating if sounds should be paused when game looses focus, for instance when user switches to another tab/program/app.

    rate: number

    Global playback rate at which all the sounds will be played. Value of 1.0 plays the audio at full speed, 0.5 plays the audio at half speed and 2.0 doubles the audio's playback speed.

    volume: number

    Global volume setting.

    Methods

    • Add a listener for a given event.

      Parameters

      • event: string | symbol

        The event name.

      • fn: Function

        The listener function.

      • Optionalcontext: any

        The context to invoke the listener with. Default this.

      Returns this

    • Method responsible for instantiating and returning AudioContext instance. If an instance of an AudioContext class was provided through the game config, that instance will be returned instead. This can come in handy if you are reloading a Phaser game on a page that never properly refreshes (such as in an SPA project) and you want to reuse already instantiated AudioContext.

      Parameters

      • game: Game

        Reference to the current game instance.

      Returns AudioContext

    • Decode audio data into a format ready for playback via Web Audio.

      The audio data can be a base64 encoded string, an audio media-type data uri, or an ArrayBuffer instance.

      The audioKey is the key that will be used to save the decoded audio to the audio cache.

      Instead of passing a single entry you can instead pass an array of Phaser.Types.Sound.DecodeAudioConfig objects as the first and only argument.

      Decoding is an async process, so be sure to listen for the events to know when decoding has completed.

      Once the audio has decoded it can be added to the Sound Manager or played via its key.

      Parameters

      • OptionalaudioKey: string | DecodeAudioConfig[]

        The string-based key to be used to reference the decoded audio in the audio cache, or an array of audio config objects.

      • OptionalaudioData: string | ArrayBuffer

        The audio data, either a base64 encoded string, an audio media-type data uri, or an ArrayBuffer instance.

      Returns void

    • Calls each of the listeners registered for a given event.

      Parameters

      • event: string | symbol

        The event name.

      • ...args: any[]

        Additional arguments that will be passed to the event handler.

      Returns boolean

    • Gets all sounds in this Sound Manager.

      You can optionally specify a key, in which case only Sound instances that match the given key will be returned.

      Type Parameters

      Parameters

      • Optionalkey: string

        Optional asset key. If given, only Sound instances with this key will be returned.

      Returns T[]

    • When a key is given, returns true if any sound with that key is playing.

      When no key is given, returns true if any sound is playing.

      Parameters

      • key: string

        Sound asset key.

      Returns boolean

    • Return the listeners registered for a given event.

      Parameters

      • event: string | symbol

        The event name.

      Returns Function[]

    • Remove the listeners of a given event.

      Parameters

      • event: string | symbol

        The event name.

      • Optionalfn: Function

        Only remove the listeners that match this function.

      • Optionalcontext: any

        Only remove the listeners that have this context.

      • Optionalonce: boolean

        Only remove one-time listeners.

      Returns this

    • Add a listener for a given event.

      Parameters

      • event: string | symbol

        The event name.

      • fn: Function

        The listener function.

      • Optionalcontext: any

        The context to invoke the listener with. Default this.

      Returns this

    • Add a one-time listener for a given event.

      Parameters

      • event: string | symbol

        The event name.

      • fn: Function

        The listener function.

      • Optionalcontext: any

        The context to invoke the listener with. Default this.

      Returns this

    • Adds a new sound to the sound manager and plays it.

      The sound will be automatically removed (destroyed) once playback ends.

      This lets you play a new sound on the fly without the need to keep a reference to it.

      Parameters

      • key: string

        Asset key for the sound.

      • Optionalextra: SoundConfig | SoundMarker

        An optional additional object containing settings to be applied to the sound. It could be either config or marker object.

      Returns boolean

    • Adds a new audio sprite sound to the sound manager and plays it. The sprite will be automatically removed (destroyed) once playback ends. This lets you play a new sound on the fly without the need to keep a reference to it.

      Parameters

      • key: string

        Asset key for the sound.

      • spriteName: string

        The name of the sound sprite to play.

      • Optionalconfig: SoundConfig

        An optional config object containing default sound settings.

      Returns boolean

    • Removes all sounds from the sound manager that have an asset key matching the given value. The removed sounds are destroyed before removal.

      Parameters

      • key: string

        The key to match when removing sound objects.

      Returns number

    • Remove the listeners of a given event.

      Parameters

      • event: string | symbol

        The event name.

      • Optionalfn: Function

        Only remove the listeners that match this function.

      • Optionalcontext: any

        Only remove the listeners that have this context.

      • Optionalonce: boolean

        Only remove one-time listeners.

      Returns this

    • This method takes a new AudioContext reference and then sets this Sound Manager to use that context for all playback.

      As part of this call it also disconnects the master mute and volume nodes and then re-creates them on the new given context.

      Parameters

      • context: AudioContext

        Reference to an already created AudioContext instance.

      Returns this

    • Sets the global detuning of all sounds in cents. The range of the value is -1200 to 1200, but we recommend setting it to 50.

      Parameters

      • value: number

        The range of the value is -1200 to 1200, but we recommend setting it to 50.

      Returns this

    • Sets the X and Y position of the Spatial Audio listener on this Web Audios context.

      If you call this method with no parameters it will default to the center-point of the game canvas. Depending on the type of game you're making, you may need to call this method constantly to reset the listener position as the camera scrolls.

      Calling this method does nothing on HTML5Audio.

      Parameters

      • Optionalx: number

        The x position of the Spatial Audio listener.

      • Optionaly: number

        The y position of the Spatial Audio listener.

      Returns void

    • Sets the global playback rate at which all the sounds will be played.

      For example, a value of 1.0 plays the audio at full speed, 0.5 plays the audio at half speed and 2.0 doubles the audios playback speed.

      Parameters

      • value: number

        Global playback rate at which all the sounds will be played.

      Returns this

    • Update method called on every game step.

      Removes destroyed sounds and updates every active sound in the game.

      Parameters

      • time: number

        The current timestamp as generated by the Request Animation Frame or SetTimeout.

      • delta: number

        The delta time elapsed since the last frame.

      Returns void