Class: Sound

Phaser. Sound

new Sound(game, key [, volume] [, loop])

The Sound class constructor.

Parameters:
Name Type Argument Default Description
game Phaser.Game

Reference to the current game instance.

key string

Asset key for the sound.

volume number <optional>
1

Default value for the volume, between 0 and 1.

loop boolean <optional>
false

Whether or not the sound will loop.

Source:
src/sound/Sound.js line 17

Members

allowMultiple : boolean

This will allow you to have multiple instances of this Sound playing at once. This is only useful when running under Web Audio, and we recommend you implement a local pooling system to not flood the sound channels.

Type:
  • boolean
Source:
src/sound/Sound.js line 144

autoplay : boolean

Whether the sound should start automatically.

Type:
  • boolean
Source:
src/sound/Sound.js line 57

context : AudioContext

Reference to the AudioContext instance.

Type:
  • AudioContext
Source:
src/sound/Sound.js line 52

currentMarker : string

The string ID of the currently playing marker, if any.

Type:
  • string
Source:
src/sound/Sound.js line 121

currentTime : number

The current time of sound playback in ms.

Type:
  • number
Source:
src/sound/Sound.js line 73

duration : number

The duration of the current sound marker in seconds.

Type:
  • number
Source:
src/sound/Sound.js line 78

durationMS : number

The duration of the current sound marker in ms.

Type:
  • number
Source:
src/sound/Sound.js line 83

externalNode : object

If defined this Sound won't connect to the SoundManager master gain node, but will instead connect to externalNode.

Type:
  • object
Source:
src/sound/Sound.js line 167

fadeTween : Phaser.Tween

The tween that fades the audio, set via Sound.fadeIn and Sound.fadeOut.

Type:
Source:
src/sound/Sound.js line 126

gainNode : object

The gain node in a Web Audio system.

Type:
  • object
Source:
src/sound/Sound.js line 177

game : Phaser.Game

A reference to the currently running Game.

Type:
Source:
src/sound/Sound.js line 27

<readonly> isDecoded : boolean

Returns true if the sound file has decoded.

Type:
  • boolean
Source:
src/sound/Sound.js line 1165

<readonly> isDecoding : boolean

Returns true if the sound file is still decoding.

Type:
  • boolean
Source:
src/sound/Sound.js line 1151

isPlaying : boolean

Whether the sound is currently playing.

Type:
  • boolean
Source:
src/sound/Sound.js line 115

key : string

Asset key for the sound.

Type:
  • string
Source:
src/sound/Sound.js line 37

loop : boolean

Whether or not the sound or current sound marker will loop.

Type:
  • boolean
Source:
src/sound/Sound.js line 42

markers : object

The sound markers.

Type:
  • object
Source:
src/sound/Sound.js line 47

masterGainNode : object

The master gain node in a Web Audio system.

Type:
  • object
Source:
src/sound/Sound.js line 172

mute : boolean

Gets or sets the muted state of this sound.

Type:
  • boolean
Source:
src/sound/Sound.js line 1179

name : string

Name of the sound.

Type:
  • string
Source:
src/sound/Sound.js line 32

onDecoded : Phaser.Signal

The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files). It passes one argument, this sound.

Type:
Source:
src/sound/Sound.js line 257

onFadeComplete : Phaser.Signal

The onFadeComplete event is dispatched when this sound finishes fading either in or out. It passes two arguments: this sound and its current volume.

Type:
Source:
src/sound/Sound.js line 297

onLoop : Phaser.Signal

The onLoop event is dispatched when this sound loops during playback. It passes one argument, this sound.

Type:
Source:
src/sound/Sound.js line 277

onMarkerComplete : Phaser.Signal

The onMarkerComplete event is dispatched when a marker within this sound completes playback. It passes two arguments: the currentMarker and this sound.

Type:
Source:
src/sound/Sound.js line 292

onMute : Phaser.Signal

The onMute event is dispatched when this sound is muted. It passes one argument, this sound.

Type:
Source:
src/sound/Sound.js line 287

onPause : Phaser.Signal

The onPause event is dispatched when this sound is paused. It passes one argument, this sound.

Type:
Source:
src/sound/Sound.js line 267

onPlay : Phaser.Signal

The onPlay event is dispatched each time this sound is played (but not looped). It passes one argument, this sound.

Type:
Source:
src/sound/Sound.js line 262

onResume : Phaser.Signal

The onResume event is dispatched when this sound is resumed from a paused state. It passes one argument, this sound.

Type:
Source:
src/sound/Sound.js line 272

onStop : Phaser.Signal

The onStop event is dispatched when this sound stops playback or when a non-looping marker completes. It passes two arguments: this sound and any marker that was playing.

Type:
Source:
src/sound/Sound.js line 282

override : boolean

When playing this sound, always start from the beginning.

Type:
  • boolean
Source:
src/sound/Sound.js line 138

paused : boolean

Whether the sound is paused.

Type:
  • boolean
Source:
src/sound/Sound.js line 99

pausedPosition : number

The position the sound had reached when it was paused in ms.

Type:
  • number
Source:
src/sound/Sound.js line 104

pausedTime : number

The clock time (ms) at which the sound was paused.

Type:
  • number
Source:
src/sound/Sound.js line 109

<readonly> pendingPlayback : boolean

Playback is pending (delayed) because the audio isn't decoded or is touch-locked.

Type:
  • boolean
Source:
src/sound/Sound.js line 132

playOnce : boolean

Marks the Sound for deletion from SoundManager after playing once. Useful for playing several identical sounds overlapping without flooding the sound channel

Type:
  • boolean
Source:
src/sound/Sound.js line 150

position : number

The position of the current sound marker in seconds.

Type:
  • number
Source:
src/sound/Sound.js line 88

startTime : number

The time the sound starts playing, in game-time coordinates (ms).

Type:
  • number
Source:
src/sound/Sound.js line 68

stopTime : number

The time the sound stopped in ms.

Type:
  • number
Source:
src/sound/Sound.js line 93

totalDuration : number

The total duration of the sound in seconds.

Type:
  • number
Source:
src/sound/Sound.js line 62

<readonly> usingAudioTag : boolean

Whether this sound is being played via the Audio tag.

Type:
  • boolean
Source:
src/sound/Sound.js line 162

<readonly> usingWebAudio : boolean

Whether this sound is being played with Web Audio.

Type:
  • boolean
Source:
src/sound/Sound.js line 156

volume : number

Gets or sets the volume of this sound, a value between 0 and 1. The value given is clamped to the range 0 to 1.

Type:
  • number
Source:
src/sound/Sound.js line 1232

Methods

addMarker(name, start [, duration] [, volume] [, loop])

Adds a marker into the current Sound. A marker is represented by a unique key and a start time and duration. This allows you to bundle multiple sounds together into a single audio file and use markers to jump between them for playback.

Parameters:
Name Type Argument Default Description
name string

A unique name for this marker, i.e. 'explosion', 'gunshot', etc.

start number

The start point of this marker in the audio file, given in seconds. 2.5 = 2500ms, 0.5 = 500ms, etc.

duration number <optional>
1

The duration of the marker in seconds. 2.5 = 2500ms, 0.5 = 500ms, etc.

volume number <optional>
1

The volume the sound will play back at, between 0 (silent) and 1 (full volume).

loop boolean <optional>
false

Sets if the sound will loop or not.

Source:
src/sound/Sound.js line 383

destroy( [remove])

Destroys this sound and all associated events and removes it from the SoundManager.

Parameters:
Name Type Argument Default Description
remove boolean <optional>
true

If true this Sound is automatically removed from the SoundManager.

Source:
src/sound/Sound.js line 1054

fadeIn( [duration] [, loop] [, marker])

Starts this sound playing (or restarts it if already doing so) and sets the volume to zero. Then increases the volume from 0 to 1 over the duration specified.

At the end of the fade Sound.onFadeComplete is dispatched with this Sound object as the first parameter, and the final volume (1) as the second parameter.

Parameters:
Name Type Argument Default Description
duration number <optional>
1000

The time in milliseconds over which the Sound should fade in.

loop boolean <optional>
false

Should the Sound be set to loop? Note that this doesn't cause the fade to repeat.

marker string <optional>
(current marker)

The marker to start at; defaults to the current (last played) marker. To start playing from the beginning specify specify a marker of ''.

Source:
src/sound/Sound.js line 947

fadeOut( [duration])

Decreases the volume of this Sound from its current value to 0 over the duration specified. At the end of the fade Sound.onFadeComplete is dispatched with this Sound object as the first parameter, and the final volume (0) as the second parameter.

Parameters:
Name Type Argument Default Description
duration number <optional>
1000

The time in milliseconds over which the Sound should fade out.

Source:
src/sound/Sound.js line 974

fadeTo( [duration] [, volume])

Fades the volume of this Sound from its current value to the given volume over the duration specified. At the end of the fade Sound.onFadeComplete is dispatched with this Sound object as the first parameter, and the final volume (volume) as the second parameter.

Parameters:
Name Type Argument Default Description
duration number <optional>
1000

The time in milliseconds during which the Sound should fade out.

volume number <optional>

The volume which the Sound should fade to. This is a value between 0 and 1.

Source:
src/sound/Sound.js line 987

loopFull( [volume])

Loops this entire sound. If you need to loop a section of it then use Sound.play and the marker and loop parameters.

Parameters:
Name Type Argument Default Description
volume number <optional>
1

Volume of the sound you want to play. If none is given it will use the volume given to the Sound when it was created (which defaults to 1 if none was specified).

Source:
src/sound/Sound.js line 580
Returns:

This sound instance.

Type
Phaser.Sound

<protected> onEndedHandler()

Called automatically by the AudioContext when the sound stops playing. Doesn't get called if the sound is set to loop or is a section of an Audio Sprite.

Source:
src/sound/Sound.js line 421

pause()

Pauses the sound.

Source:
src/sound/Sound.js line 833

play( [marker] [, position] [, volume] [, loop] [, forceRestart] [, onPlay])

Play this sound, or a marked section of it.

Parameters:
Name Type Argument Default Description
marker string <optional>
''

If you want to play a marker then give the key here, otherwise leave blank to play the full sound.

position number <optional>
0

The starting position to play the sound from - this is ignored if you provide a marker.

volume number <optional>
1

Volume of the sound you want to play. If none is given it will use the volume given to the Sound when it was created (which defaults to 1 if none was specified).

loop boolean <optional>
false

Loop when finished playing? If not using a marker / audio sprite the looping will be done via the WebAudio loop property, otherwise it's time based.

forceRestart boolean <optional>
true

If the sound is already playing you can set forceRestart to restart it from the beginning.

onPlay boolean <optional>
true

Dispatch the onPlay signal.

Source:
src/sound/Sound.js line 592
Returns:

This sound instance.

Type
Phaser.Sound

removeMarker(name)

Removes a marker from the sound.

Parameters:
Name Type Description
name string

The key of the marker to remove.

Source:
src/sound/Sound.js line 411

restart( [marker] [, position] [, volume] [, loop])

Restart the sound, or a marked section of it.

Parameters:
Name Type Argument Default Description
marker string <optional>
''

If you want to play a marker then give the key here, otherwise leave blank to play the full sound.

position number <optional>
0

The starting position to play the sound from - this is ignored if you provide a marker.

volume number <optional>
1

Volume of the sound you want to play.

loop boolean <optional>
false

Loop when it finished playing?

Source:
src/sound/Sound.js line 814

resume()

Resumes the sound.

Source:
src/sound/Sound.js line 851

<protected> soundHasUnlocked(key)

Called automatically when this sound is unlocked.

Parameters:
Name Type Description
key string

The Phaser.Cache key of the sound file to check for decoding.

Source:
src/sound/Sound.js line 368

stop()

Stop playing this sound.

Source:
src/sound/Sound.js line 904

<protected> update()

Called automatically by Phaser.SoundManager.

Source:
src/sound/Sound.js line 475

<protected> updateGlobalVolume(globalVolume)

Called automatically by SoundManager.volume.

Sets the volume of AudioTag Sounds as a percentage of the Global Volume.

You should not normally call this directly.

Parameters:
Name Type Description
globalVolume float

The global SoundManager volume.

Source:
src/sound/Sound.js line 1032

phaser-ce@2.20.0 is on GitHub and NPM

Documentation generated by JSDoc 3.6.7 on 2022-12-10 using Tomorrow.