Options
All
  • Public
  • Public/Protected
  • All
Menu

Class AudioEngine

public constructor AudioEngine

Creates an AudioEngine to manage and play different
audio assets.

This class is abstract and must be subclassed, with
an implementation to the abstract methods.

TODO: Make a way to mute/unmute All Audio

Hierarchy

Index

Constructors

constructor

Properties

Private _audioMap

_audioMap: AudioMap

Private _logManager

_logManager: LogManager

Static defaultMaxListeners

defaultMaxListeners: number

Methods

Protected _attachEndEvent

  • _attachEndEvent(asset: Asset, name: string, audio: Asset): void

Protected _attachStartEvent

  • _attachStartEvent(asset: Asset, name: string, audio: Asset): void

Protected _getAudio

  • _getAudio(name: string, justGiveChannel1?: boolean): Asset
  • protected _getAudio

    Gets an audio asset from the audio hash map.
    

    Parameters

    • name: string

      User friendly reference

    • Optional justGiveChannel1: boolean

      If true, does NOT search for an available channel

    Returns Asset

Protected _getAudioDuration

  • _getAudioDuration(audio: Asset): number
  • protected abstract _getAudioDuration

    The logic to get the total duration of an audio asset.
    Must be implemented by subclasses.
    

    Parameters

    Returns number

Protected _getData

  • _getData(audio: Asset): Object

Protected _getTimeCursor

  • _getTimeCursor(audio: Asset): number
  • protected abstract _getTimeCursor

    The logic to get the current time playing of an audio asset,
    in seconds.
    Must be implemented by subclasses.
    

    Parameters

    Returns number

Protected _getVolume

  • _getVolume(audio: Asset): number
  • protected abstract _getVolume

    The logic to get the volume of an audio asset.
    

    Parameters

    Returns number

Protected _isAudioLooping

  • _isAudioLooping(audio: Asset): boolean
  • protected abstract _isAudioLooping

    The logic to check for audio looping.
    Return true, if audio is looping.
    Must be implemented by subclasses.
    

    Parameters

    Returns boolean

Protected _isAudioMuted

  • _isAudioMuted(audio: Asset): boolean
  • protected abstract _isAudioMuted

    The logic to check for muted audio.
    Returns true if audio is muted.
    Must be implemented by subclasses.
    

    Parameters

    Returns boolean

Protected _loopAudio

  • _loopAudio(audio: Asset, state: boolean): void
  • protected abstract _loopAudio

    The logic to enable audio looping.
    Must be implemented by subclasses.
    

    Parameters

    • audio: Asset
    • state: boolean

    Returns void

Protected _muteAudio

  • _muteAudio(audio: Asset, state: boolean): void
  • protected abstract _muteAudio

    The logic to mute audio.
    Must be implemented by subclasses.
    

    Parameters

    • audio: Asset
    • state: boolean

    Returns void

Protected _pauseAudio

  • _pauseAudio(audio: Asset): void
  • protected abstract _pauseAudio

    The logic to pause audio. Must be implemented by subclasses.
    

    Parameters

    Returns void

Protected _playAudio

  • _playAudio(audio: Asset): void
  • protected abstract _playAudio

    The logic to play audio. Must be implemented by subclasses.
    

    Parameters

    Returns void

Protected _registerEndEvent

  • _registerEndEvent(asset: Asset, name: string, audio: Asset): void
  • protected abstract _registerEndEvent

    The logic for registering a callback mechanism for when audio
    stops playing. This callback should reset the playing attribute
    on the asset to false.
    

    Name & audio fields are for event reporting.

    Parameters

    Returns void

Protected _registerEvents

  • _registerEvents(channelArray: Asset[], name: string, audio: Asset): void
  • protected _registerEvents

    Attaches all mandatory events on each channel.
    

    Parameters

    Returns void

Protected _registerStartEvent

  • _registerStartEvent(asset: Asset, name: string, audio: Asset): void
  • protected abstract _registerStartEvent

    The logic for registering a callback mechanism for when audio
    begins playing. This callback should set tehe playing attribute
    on the asset to true.
    

    Name & audio fields are for event reporting.

    Parameters

    Returns void

Protected _setAudio

  • _setAudio(name: string, audio: Asset, channels: number): void
  • protected _setAudio

    Adds an audio asset to the audio hash map.
    If audio is null, then the key is deleted.
    

    Parameters

    • name: string

      User friendly reference

    • audio: Asset
    • channels: number

    Returns void

Protected _setTimeCursor

  • _setTimeCursor(audio: Asset, seconds: number): void
  • protected abstract _setTimeCursor

    The logic to set the current time played of an audio asset.
    Must be implemented by subclasses.
    

    Parameters

    • audio: Asset
    • seconds: number

    Returns void

Protected _setVolume

  • _setVolume(audio: Asset, volume: number): void
  • protected abstract _setVolume

    The logic to set the volume of an audio asset.
    Must be implemented by subclasses.
    

    Parameters

    • audio: Asset
    • volume: number

    Returns void

Protected _stopAudio

  • _stopAudio(audio: Asset): void
  • protected abstract _stopAudio

    The logic to stop audio. Must be implemented by subclasses.
    

    Parameters

    Returns void

Protected _warnMissingAudio

  • _warnMissingAudio(name: string): void
  • protected _warnMissingAudio

    Reports an audio missing warning.
    

    Parameters

    • name: string

      User friendly reference.

    Returns void

addAudio

  • addAudio(name: string, audio: Asset, channels?: number): void
  • public addAudio

    Adds an audio asset to this audio engine.
    

    Parameters

    • name: string

      User Friendly name

    • audio: Asset
    • Optional channels: number

      Optional

    Returns void

addListener

  • addListener(event: string | symbol, listener: function): this

emit

  • emit(event: string | symbol, ...args: any[]): boolean

eventNames

  • eventNames(): Array<string | symbol>

getAudioDuration

  • getAudioDuration(name: string): number
  • public getAudioDuration

    Gets the duration of the audio asset (in seconds).
    

    Parameters

    • name: string

      User friendly name

    Returns number

getMaxListeners

  • getMaxListeners(): number

getTimeCursor

  • getTimeCursor(name: string): number
  • public getTimeCursor

    Gets the current time being played on the audio asset,
    in seconds.
    

    Parameters

    • name: string

      User friendly name

    Returns number

getVolume

  • getVolume(name: string): number
  • public getVolume

    Gets the volume of the audio asset.
    

    Parameters

    • name: string

      User friendly name

    Returns number

hasAudio

  • hasAudio(name: string): boolean
  • public hasAudio

    Returns true, if an audio asset by name exists.
    

    Parameters

    • name: string

      User friendly name.

    Returns boolean

isAudioLooping

  • isAudioLooping(name: string): boolean
  • public isAudioLooping

    Returns true, if audio asset will loop.
    

    Parameters

    • name: string

      User friendly name

    Returns boolean

isAudioMuted

  • isAudioMuted(name: string): boolean
  • public isAudioMuted

    Returns true if the audio asset is muted.
    

    Parameters

    • name: string

      User friendly name

    Returns boolean

listenerCount

  • listenerCount(type: string | symbol): number

listeners

  • listeners(event: string | symbol): Function[]

loopAudio

  • loopAudio(name: string, state: boolean): void
  • public loopAudio

    Enables looping of an audio asset.
    

    Parameters

    • name: string

      User friendly name

    • state: boolean

      Should the audio asset loop?

    Returns void

muteAudio

  • muteAudio(name: string, state: boolean): void
  • public muteAudio

    Mutes an audio asset.
    

    Parameters

    • name: string
    • state: boolean

    Returns void

on

  • on(event: string | symbol, listener: function): this

once

  • once(event: string | symbol, listener: function): this

pauseAudio

  • pauseAudio(name: string): void
  • public pauseAudio

    Pauses an audio asset.
    

    Parameters

    • name: string

      User friendly name

    Returns void

playAudio

  • playAudio(name: string): void
  • public playAudio

    Plays an audio asset.
    

    Parameters

    • name: string

      User friendly name

    Returns void

prependListener

  • prependListener(event: string | symbol, listener: function): this

prependOnceListener

  • prependOnceListener(event: string | symbol, listener: function): this

releaseAssets

  • releaseAssets(): void
  • public releaseAssets

    Removes all audio assets from the audio engine.
    

    Returns void

removeAllListeners

  • removeAllListeners(event?: string | symbol): this

removeAudio

  • removeAudio(name: string): void
  • public removeAudio

    Removes an audio asset from this audio engine.
    Will stop the audio if playing.
    

    Parameters

    • name: string

      User friendly name

    Returns void

removeListener

  • removeListener(event: string | symbol, listener: function): this

setMaxListeners

  • setMaxListeners(n: number): this

setTimeCursor

  • setTimeCursor(name: string, seconds: number): void
  • public setTimeCursor

    Sets the current time to be played on the audio asset,
    in seconds.
    

    Parameters

    • name: string

      User friendly name

    • seconds: number

    Returns void

setVolume

  • setVolume(name: string, volume: number): void
  • public setVolume

    Sets the volume of the audio asset.
    

    Parameters

    • name: string

      User friendly name

    • volume: number

    Returns void

stopAudio

  • stopAudio(name: string): void
  • public stopAudio

    Stops an audio asset. (Resets time cursor back to 0 seconds).
    

    Parameters

    • name: string

      User friendly name

    Returns void

Static listenerCount

  • listenerCount(emitter: EventEmitter, event: string | symbol): number

Generated using TypeDoc