Class: SoundManager
Internal
Fetches, loads, and provides sounds to the game.
For m2c2kit library use only
Constructors
new SoundManager()
new SoundManager(
game
,baseUrls
):SoundManager
Parameters
• game: Game
• baseUrls: GameBaseUrls
Returns
Defined in
SoundManager.ts:18
Accessors
audioContext
Get Signature
get audioContext():
AudioContext
Returns
AudioContext
Defined in
SoundManager.ts:23
Methods
decodeFetchedSounds()
decodeFetchedSounds():
Promise
<void
[]>
Internal
Decodes all fetched sounds from bytes to an AudioBuffer
.
For m2c2kit library use only
Returns
Promise
<void
[]>
A promise that completes when all fetched sounds have been decoded
Remarks
This method will be called after the AudioContext
has been
created and if there are fetched sounds waiting to be decoded.
Defined in
SoundManager.ts:169
dispose()
dispose():
void
Internal
Frees up resources allocated by the SoundManager.
For m2c2kit library use only
Returns
void
Remarks
This will be done automatically by the m2c2kit library; the end-user must not call this.
Defined in
SoundManager.ts:234
fetchDeferredSound()
fetchDeferredSound(
m2Sound
):Promise
<void
>
Internal
Fetches a m2c2kit sound (M2Sound) that was previously initialized with lazy loading.
For m2c2kit library use only
Parameters
• m2Sound: M2Sound
M2Sound to fetch
Returns
Promise
<void
>
A promise that completes when sounds have been fetched
Defined in
SoundManager.ts:138
getSound()
getSound(
soundName
):M2Sound
Internal
Returns a m2c2kit sound (M2Sound) that has been entered into the SoundManager.
For m2c2kit library use only
Parameters
• soundName: string
sound's name as defined in the game's sound assets
Returns
a m2c2kit sound
Remarks
Typically, a user won't need to call this because sound initialization and processing is handled by the framework.
Defined in
SoundManager.ts:218
getSoundNames()
getSoundNames():
string
[]
Gets names of sounds entered in the SoundManager
.
Returns
string
[]
array of sound names
Remarks
These are sounds that the SoundManager
is aware of. The sounds
may not be ready to play (may not have been fetched or decoded yet).
Defined in
SoundManager.ts:244
hasSoundsToDecode()
hasSoundsToDecode():
boolean
Internal
Checks if the SoundManager has sounds needing decoding.
For m2c2kit library use only
Returns
boolean
true if there are sounds that have been fetched and are waiting
to be decoded (status is M2SoundStatus.Fetched
)
Defined in
SoundManager.ts:151
initializeSounds()
initializeSounds(
soundAssets
):Promise
<void
>
Internal
Loads sound assets during the game initialization.
For m2c2kit library use only
Parameters
• soundAssets: undefined
| SoundAsset
[]
array of SoundAsset objects
Returns
Promise
<void
>
Remarks
Typically, a user won't call this because the m2c2kit framework will call this automatically. At initialization, sounds can only be fetched, not decoded because the AudioContext can not yet be created (it requires a user interaction).
Defined in
SoundManager.ts:47
loadSounds()
loadSounds(
soundAssets
):Promise
<void
>
Loads an array of sound assets and makes them ready for the game.
Parameters
• soundAssets: SoundAsset
[]
an array of SoundAsset
Returns
Promise
<void
>
A promise that completes when all sounds have loaded
Remarks
Loading a sound consists of 1) fetching the sound file and 2)
decoding the sound data. The sound is then ready to be played. Step 1
can be done at any time, but step 2 requires an AudioContext
, which
can only be created after a user interaction. If a play Action
is
attempted before the sound is ready (either it has not been fetched or
decoded), the play Action
will log a warning to the console and the
loading process will continue in the background, and the sound will play
when ready. This loadSounds()
method does not have to be awaited.
Defined in
SoundManager.ts:69