2020-07-16 13:46:51 -07:00
|
|
|
mod audio_output;
|
|
|
|
mod audio_source;
|
|
|
|
|
|
|
|
pub use audio_output::*;
|
|
|
|
pub use audio_source::*;
|
|
|
|
|
2020-07-16 19:20:51 -07:00
|
|
|
pub mod prelude {
|
2020-09-08 13:56:45 -07:00
|
|
|
pub use crate::{AudioOutput, AudioSource, Decodable};
|
2020-07-16 19:20:51 -07:00
|
|
|
}
|
|
|
|
|
2020-07-16 18:47:51 -07:00
|
|
|
use bevy_app::prelude::*;
|
2020-07-16 13:46:51 -07:00
|
|
|
use bevy_asset::AddAsset;
|
|
|
|
use bevy_ecs::IntoQuerySystem;
|
|
|
|
|
2020-08-09 16:13:04 -07:00
|
|
|
/// Adds support for audio playback to an App
|
2020-07-16 13:46:51 -07:00
|
|
|
#[derive(Default)]
|
|
|
|
pub struct AudioPlugin;
|
|
|
|
|
2020-08-07 20:22:17 -07:00
|
|
|
impl Plugin for AudioPlugin {
|
2020-07-16 13:46:51 -07:00
|
|
|
fn build(&self, app: &mut AppBuilder) {
|
2020-09-08 13:56:45 -07:00
|
|
|
app.init_resource::<AudioOutput<AudioSource>>()
|
2020-07-16 13:46:51 -07:00
|
|
|
.add_asset::<AudioSource>()
|
2020-10-18 13:48:15 -07:00
|
|
|
.init_asset_loader::<Mp3Loader>()
|
2020-09-08 13:56:45 -07:00
|
|
|
.add_system_to_stage(
|
|
|
|
stage::POST_UPDATE,
|
|
|
|
play_queued_audio_system::<AudioSource>.system(),
|
|
|
|
);
|
2020-07-16 13:46:51 -07:00
|
|
|
}
|
|
|
|
}
|