use bevy::prelude::*;
use bevy_fmod::prelude::AudioSource;
use bevy_fmod::prelude::*;
fn main() {
App::new()
.add_plugins((
DefaultPlugins,
FmodPlugin::new(&[
"./assets/audio/demo_project/Build/Desktop/Master.bank",
"./assets/audio/demo_project/Build/Desktop/Master.strings.bank",
"./assets/audio/demo_project/Build/Desktop/Music.bank",
]),
))
.add_systems(Startup, startup)
.add_systems(PostStartup, play_music)
.run();
}
#[derive(Component)]
struct MyMusicPlayer;
fn startup(mut commands: Commands, studio: Res<FmodStudio>) {
let event_description = studio.get_event("event:/Music/Level 03").unwrap();
let event_instance = event_description.create_instance().unwrap();
commands.spawn(MyMusicPlayer).insert(AudioSource {
event_instance: event_instance,
despawn_stop_mode: StopMode::AllowFadeout,
});
}
fn play_music(audio_source: Single<&AudioSource, With<MyMusicPlayer>>) {
audio_source.start().unwrap();
}