To add a file, use stage.iLoader.addAudio()
in the GameStage.register():
register() {
this.iLoader.addAudio("audio_key", "./audio.mp3");
...
}
Using AudioInterface:
The AudioInterface serves as a control center for all audio tracks.
The default AudioInterface is available via stage.audio
.
You can add any other audio interfaces with:
this.music = new AudioInterface(this.iLoader);
How to use tracks with AudioInterface
- First, register the added and loaded audio file in the GameStage.init(), or GameStage.start():
stage.audio.registerAudio("audio_key");
- Then get the audio track:
const track = stage.audio.getAudio("audio_key");
- To play or pause the track, use:
track.play();
track.pause();
- To loop the audio track, set the
track.loop
parameter totrue
:
const audioTrack = this.audio.getAudio("audio_key");
audioTrack.loop = true;
audioTrack.play();
- If you want to take a copy of the track, use
getAudioCloned()
:
this.audio.getAudioCloned("audio_key").play();
- In order to control the volume,
setaudio.volume
from 0 to 1(this will affect only on registered tracks):
this.audio.volume = 0.5;
Live Example
See the Pen JsGE - audio by Arturas-Alfredas Lapinskas (@yaalfred) on CodePen.