Adds audio support for Flame using the audioplayers package.
This package makes it easy to add audio capabilities to your games, integrating Audioplayers features seamless into your Flame game code.
Add this as a dependency to your Flame game if you want to play background music, ambient sounds, sound effects, etc. For the full documentation, visit flame_audio.
Add sound files to assets/audio. Remember to run pub get after updating pubspec.yaml with:
assets:
- assets/audioUse these built-in methods to play sounds in your Flame game:
import 'package:flame_audio/flame_audio.dart';
// For shorter reused audio clips, like sound effects
FlameAudio.play('explosion.mp3');
// For looping an audio file
FlameAudio.loop('music.mp3');
// For playing a longer audio file
FlameAudio.playLongAudio('music.mp3');
// For looping a longer audio file
FlameAudio.loopLongAudio('music.mp3');Start by initializing FlameAudio bgm.
FlameAudio.bgm.initialize();Remember to call dispose to remove the observer.
FlameAudio.bgm.dispose();To play a looping background music
import 'package:flame_audio/flame_audio.dart';
// play with optional volume param
FlameAudio.bgm.play('music/world-map.mp3', volume: .25);To stop background music
FlameAudio.bgm.stop();To pause and resume background music
FlameAudio.bgm.pause();
FlameAudio.bgm.resume();You can pre-load your sounds into the audioCache. This prevents a delay for the first time an audio file is called. The files are cached automatically after the first time.
// cache single track
await FlameAudio.audioCache.load('explosion.mp3');
// cache multiple tracks
await FlameAudio.audioCache.loadAll(['explosion.mp3', 'music.mp3']);To clear the cache
// clear specific track
FlameAudio.audioCache.clear('explosion.mp3');
// clear whole cache
FlameAudio.audioCache.clearCache();Use AudioPools if you have extremely quick firing, repetitive or simultaneous sounds. To create an AudioPool:
AudioPool audioPool = await FlameAudio.createPool('explosion.mp3', maxPlayers: 2);
audioPool.start();