Sound
Implements
Index
Constructors
constructor
Parameters
rest...paths: string[]
A list of audio sources (clip.wav, clip.mp3, clip.ogg) for this audio clip. This is done for browser compatibility.
Returns Sound
Properties
publicdata
Data associated with a loadable
publicevents
publiclogger
Accessors
publicbustCache
Should excalibur add a cache busting querystring? By default false. Must be set before loading
Returns boolean
Parameters
val: boolean
Returns void
publicduration
Get the duration that this audio should play. If unset the total natural playback duration will be used.
Returns number
Set the duration that this audio should play. If unset the total natural playback duration will be used.
Note: if you seek to a specific point the duration will start from that point, for example
If you have a 10 second clip, seek to 5 seconds, then set the duration to 2, it will play the clip from 5-7 seconds.
Parameters
duration: number
Returns void
publicinstances
Return array of Current AudioInstances playing or being paused
Returns Audio[]
publicloop
Whether the audio should loop (repeat forever)
Returns boolean
Indicates whether the clip should loop when complete
Parameters
value: boolean
Set the looping flag
Returns void
publicpath
Returns string
Parameters
val: string
Returns void
publicplaybackRate
Set the playbackRate, default is 1.0 at normal speed. For example 2.0 is double speed, and 0.5 is half speed.
Returns number
Set the playbackRate, default is 1.0 at normal speed. For example 2.0 is double speed, and 0.5 is half speed.
Parameters
playbackRate: number
Returns void
publicvolume
The volume (between 0 and 1)
Returns number
The volume (between 0 and 1)
Parameters
value: number
Returns void
Methods
publicdecodeAudio
Parameters
data: ArrayBuffer
Returns Promise<AudioBuffer>
publicemit
Type parameters
- TEventName: EventKey<SoundEvents>
Parameters
eventName: TEventName
event: SoundEvents[TEventName]
Returns void
publicgetPlaybackPosition
Return the current playback time of the playing track in seconds from the start.
Optionally specify the track to query if multiple are playing at once.
Parameters
trackId: number = 0
Returns number
publicgetTotalPlaybackDuration
Return the duration of the sound
Returns number
publicgetTrackId
Get Id of provided AudioInstance in current trackList
Parameters
track: Audio
[[Audio]] which Id is to be given
Returns number
publicinstanceCount
Returns how many instances of the sound are currently playing
Returns number
publicisLoaded
Returns true if the loadable is loaded
Returns boolean
publicisPaused
Returns if the audio is paused
Returns boolean
publicisPlaying
Whether or not the sound is playing right now
Returns boolean
publicisStopped
Returns if the audio is stopped
Returns boolean
publicload
Begins loading the resource and returns a promise to be resolved on completion
Returns Promise<AudioBuffer>
publicoff
Type parameters
- TEventName: EventKey<SoundEvents>
Parameters
eventName: TEventName
handler: Handler<SoundEvents[TEventName]>
Returns void
publicon
Type parameters
- TEventName: EventKey<SoundEvents>
Parameters
eventName: TEventName
handler: Handler<SoundEvents[TEventName]>
Returns Subscription
publiconce
Type parameters
- TEventName: EventKey<SoundEvents>
Parameters
eventName: TEventName
handler: Handler<SoundEvents[TEventName]>
Returns Subscription
publicpause
Stop the sound, and do not rewind
Returns void
publicplay
Play the sound, returns a promise that resolves when the sound is done playing An optional volume argument can be passed in to play the sound. Max volume is 1.0
Parameters
optionalvolume: number
Returns Promise<boolean>
publicseek
Seek to a position (in seconds) in the audio
Parameters
position: number
trackId: number = 0
Returns void
publicstop
Stop the sound if it is currently playing and rewind the track. If the sound is not playing, rewinds the track.
Returns void
publicwireEngine
Parameters
engine: Engine<any>
Returns void
The [[Sound]] object allows games built in Excalibur to load audio components, from soundtracks to sound effects. [[Sound]] is an [[Loadable]] which means it can be passed to a [[Loader]] to pre-load before a game or level.