# Bundles
## `AudioSourceBundle`
```rust
pub struct AudioSourceBundle<Source = AudioSource>
where
Source: Asset + Decodable,
{
/// Asset containing the audio data to play.
pub source: Handle<Source>,
/// Initial settings that the audio starts playing with.
/// If you would like to control the audio while it is playing,
/// query for the [`AudioSink`][crate::AudioSink] component.
/// Changes to this component will *not* be applied to already-playing audio.
pub settings: PlaybackSettings,
}
```
### Proposal 1 (Selected)
```rust
#[derive(Component)]
#[require(PlaybackSettings)]
pub struct AudioSource<Source = AudioSource>(Handle<Source>)
where
Source: Asset + Decodable;
```