Struct tetra::audio::Sound[][src]

pub struct Sound { /* fields omitted */ }

Sound data that can be played back.

All of the playback methods on this type return a SoundInstance that can be used to control the sound after it has started. If you just want to ‘fire and forget’ a sound, you can discard it - the sound will continue playing regardless.

Supported Formats

Various file formats are supported, and can be enabled or disabled via Cargo features:

FormatCargo featureEnabled by default?
WAVaudio_wavYes
OGG Vorbisaudio_vorbisYes
MP3audio_mp3Yes
FLACaudio_flacNo

Performance

Creating a Sound is a fairly cheap operation, as the data is not decoded until playback begins.

Cloning a Sound is a very cheap operation, as the underlying data is shared between the original instance and the clone via reference-counting.

Examples

The audio example demonstrates how to play several different kinds of sound.

Implementations

impl Sound[src]

pub fn new<P>(path: P) -> Result<Sound> where
    P: AsRef<Path>, 
[src]

Creates a new sound from the given file.

Note that the data is not decoded until playback begins, so this function will not validate that the data being read is formatted correctly.

Errors

pub fn from_file_data(data: &[u8]) -> Sound[src]

Creates a new sound from a slice of binary data, encoded in one of Tetra’s supported file formats.

This is useful in combination with include_bytes, as it allows you to include your audio data directly in the binary.

Note that the data is not decoded until playback begins, so this function will not validate that the data being read is formatted correctly.

pub fn play(&self, ctx: &Context) -> Result<SoundInstance>[src]

Plays the sound.

Errors

pub fn repeat(&self, ctx: &Context) -> Result<SoundInstance>[src]

Plays the sound repeatedly.

Errors

pub fn spawn(&self, ctx: &Context) -> Result<SoundInstance>[src]

Spawns a new instance of the sound that is not playing yet.

Errors

pub fn play_with(
    &self,
    ctx: &Context,
    volume: f32,
    speed: f32
) -> Result<SoundInstance>
[src]

Plays the sound, with the provided settings.

Errors

pub fn repeat_with(
    &self,
    ctx: &Context,
    volume: f32,
    speed: f32
) -> Result<SoundInstance>
[src]

Plays the sound repeatedly, with the provided settings.

Errors

pub fn spawn_with(
    &self,
    ctx: &Context,
    volume: f32,
    speed: f32
) -> Result<SoundInstance>
[src]

Spawns a new instance of the sound that is not playing yet, with the provided settings.

Errors

Trait Implementations

impl Clone for Sound[src]

impl Debug for Sound[src]

impl PartialEq<Sound> for Sound[src]

impl StructuralPartialEq for Sound[src]

Auto Trait Implementations

impl RefUnwindSafe for Sound

impl Send for Sound

impl Sync for Sound

impl Unpin for Sound

impl UnwindSafe for Sound

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.