This bevy plugin is intended to try integrating Kira into Bevy. The end goal is to replace or update bevy_audio, if Kira turns out to be a good approach. Currently, this plugin can play ogg, mp3, flac, and wav formats and supports web builds for everything except mp3.
You can check out the examples directory in this repository for a display of this plugin's functionality.
To initialize the corresponding AssetLoaders, use at least one of the features ogg, mp3, wav, or flac. The following example assumes that the feature bevy_kira_audio/ogg is enabled.
use bevy_kira_audio::{Audio, AudioPlugin};
// in your game's AppBuilder:
// app.add_plugin(AudioPlugin)
fn my_audio_system(
asset_server: Res<AssetServer>,
audio: Res<Audio>,
) {
let music_handle = asset_server.get_handle("sounds/music.ogg");
audio.play(music_handle);
}- play common audio formats
-
ogg -
mp3 -
wav -
flac
-
- web support
- The features
ogg,flacandwavcan be build for WASM and used in web builds. There are some differences between browsers:- Chrome requires an interaction with the website to play audio (e.g. a button click). This issue can be resolved with a script in your
index.htmlfile (usage example). - Firefox: The audio might sound distorted (this could be related to overall performance; see issue #9)
- Chrome requires an interaction with the website to play audio (e.g. a button click). This issue can be resolved with a script in your
- The features
- pause/resume and stop tracks
- play a track on repeat
- control volume
- control playback rate
- control pitch (no change in playback rate)
- control panning
- get the current status of a track (time elapsed/left)?
The main branch is up to date with the latest Bevy release. The branch bevy_main tracks the main branch of Bevy.
Compatibility of published bevy_kira_audio versions:
bevy_kira_audio |
bevy |
|---|---|
0.4.0 |
0.5.0 |
0.3.0 |
0.4.0 |
This crate is distributed under the terms of the MIT license.
Assets in the examples might be distributed under different terms. See the readme in the examples directory.