Audio - Rombusevil/flixel-gdx GitHub Wiki

In this guide you learn how to use the Audio API. Flixel provides methods to playback small sound effects as well as stream larger music files directly disk.

Audio Formats

Platform .wav .mp3 .ogg
Android
Desktop (LWJGL)
iOS
HTML5*

*Note: supported file formats depend on the browser used.
*Note 2: libgdx uses SoundManager made in Flash to play audio.

Sound vs. Stream

The audio system offers two functions for loading: FlxG.loadSound() and FlxG.playMusic(). The difference between these two:

  • FlxG.loadSound() loads an entire sound into memory. It should be used for small audio samples that may be used repeatedly such as a character shooting a gun.
  • FlxG.playMusic(), sounds that are longer than few seconds is recommended to stream it from disk instead loading it into RAM.

Audio usage

All audio functions go via FlxG, the Global helper class. If you want more control over an individual sound object, you need to create an FlxSound object.

Sound

There are several ways to play sound. This method will create a sound object (FlxSound), cached it and play it.

// path, volume on 1, looped, auto destroy, auto play.
FlxG.play(SndShoot, 1, false, false, true);

You may want to load the sounds before the game starts instead creating sound object on runtime.

String SndShoot = "path/sound.ogg";
// path, volume on 1, looped, auto destroy, auto play.
FlxSound soundShoot = FlxG.loadSound(SndShoot, 1, false, false, false);
soundShoot.play();

Music

Playing music is done with one method.

// path, volume, looped, auto destroy.
FlxG.playMusic(Music, 1f, true, true);

Controlling Audio

FlxG.resumeSounds() Resume playing existing sounds.
FlxG.pauseSounds() Pause all sounds currently playing.
FlxG.mute = true Mute the sound if set to true.
FlxSound.resume() Unpause a sound.
FlxSound.pause() Pause a sound.
FlxSound.stop() Stop a sound.
FlxSound.fadeOut() Make the sound fade out over a certain time interval.
FlxSound.fadeIn() Make the sound fade in over a certain time interval.
FlxSound.setVolume() Set the volume of the sound.

Disposing Audio

If the argument auto destroy is set to false, you need to dispose the sound manually.

soundShoot.destroy();

Or via path of the sound.

FlxG.disposeSound("path/sound.ogg");

Destroy all sounds, even if they are flagged to survive.

FlxG.destroySounds(true);

Examples:

⚠️ **GitHub.com Fallback** ⚠️