ears 0.5.0

Easy Api in Rust to play Sounds
Documentation

ears Build Status Build status

A simple library to play sounds and music in Rust.

  • Convenient and easy to understand interface over OpenAL.
  • Supports a wide variety of audio formats via libsndfile.
  • Advanced features like HRTF and spatialization for free.
  • Perfect for game developers.

View documentation

Before you start

You need to install OpenAL and libsndfile on your system.

Linux (Debian and Ubuntu)

sudo apt install libopenal-dev libsndfile1-dev

Linux (Fedora):

sudo dnf install openal-soft-devel libsndfile-devel

Mac:

brew install openal-soft libsndfile

Windows:

Install MSYS2 according to the instructions. Be sure to use the default installation folder (i.e. C:\msys32 or C:\msys64), otherwise compiling won't work. Then, run the following in the MSYS2 shell:

pacman -S mingw-w64-x86_64-libsndfile mingw-w64-x86_64-openal

Usage

Include ears in your Cargo.toml dependencies.

[dependencies]
ears = "0.5.0"

Playing a sound effect while simultaneously streaming music off disk is as simple as it gets.

extern crate ears;
use ears::{Music, Sound, AudioController};

fn main() {
    let mut music = Music::new("your-music.ogg").unwrap();
    music.play();

    let mut sound = Sound::new("your-sound-effect.wav").unwrap();
    sound.play();

    while music.is_playing() || sound.is_playing() {};
}

Running examples

cargo run --example basic
cargo run --example many_sounds
cargo run --example music
cargo run --example record
cargo run --example simple_player
cargo run --example threads
cargo run --example direct_channel