---
# System prepended metadata

title: AudioSourceBundle
tags: [Required-Components]

---

# 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;
```