flame_audio 2.10.5 copy "flame_audio: ^2.10.5" to clipboard
flame_audio: ^2.10.5 copied to clipboard

Audio support for the Flame game engine, basically a thin wrapper around the audioplayers package.

flame

Adds audio support for Flame using the audioplayers package.


flame_audio #

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.

How to use #

Add sound files to assets/audio. Remember to run pub get after updating pubspec.yaml with:

assets:
    - assets/audio

General sounds #

Use 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');

Background music #

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();

Caching #

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();

Audio pool #

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();
85
likes
160
pub points
97%
popularity

Publisher

verified publisherflame-engine.org

Audio support for the Flame game engine, basically a thin wrapper around the audioplayers package.

Repository (GitHub)
View/report issues
Contributing

Topics

#flame #audio

Documentation

API reference

Funding

Consider supporting this project:

opencollective.com
github.com
patreon.com

License

MIT (license)

Dependencies

audioplayers, flame, flutter, synchronized

More

Packages that depend on flame_audio