11 个不稳定版本 (5 个破坏性更改)

使用旧的 Rust 2015

0.8.0 2020 年 2 月 12 日
0.7.0 2019 年 8 月 22 日
0.6.0 2019 年 6 月 2 日
0.5.1 2018 年 4 月 3 日
0.3.4 2016 年 2 月 3 日

#155 in 音频

Download history 86/week @ 2024-03-11 77/week @ 2024-03-18 18/week @ 2024-03-25 145/week @ 2024-04-01 40/week @ 2024-04-08 61/week @ 2024-04-15 92/week @ 2024-04-22 50/week @ 2024-04-29 86/week @ 2024-05-06 67/week @ 2024-05-13 103/week @ 2024-05-20 76/week @ 2024-05-27 116/week @ 2024-06-03 100/week @ 2024-06-10 132/week @ 2024-06-17 73/week @ 2024-06-24

434 每月下载量
用于 6 crates

MIT 许可证

215KB
3K SLoC

ears 构建状态 构建状态

Ears 旨在提供一种便捷且易于理解的 Rust 接口,用于 OpenAL。

它首先是为游戏开发设计的,提供对 HRTF、空间化和环境效果等复杂功能的简单访问,几乎无需配置。

查看文档

支持广泛的音频格式,包括

  • Ogg Vorbis
  • Microsoft WAV
  • RAW PCM
  • 无损 FLAC
  • AIFF

完整列表请参见 libsndfile 的文档: http://www.mega-nerd.com/libsndfile/

开始之前

您需要在系统上安装 OpenAL 和 libsndfile。

Linux (Debian 和 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

根据说明安装 MSYS2。请确保使用默认安装文件夹(即 C:\msys32C:\msys64),否则编译将无法工作。然后,在 MSYS2 shell 中运行以下命令

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

用法

在您的 Cargo.toml 依赖中包含 ears

[dependencies]
ears = "0.8.0"

在从磁盘流式传输音乐的同时播放音效非常简单。

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() {};
}

运行示例

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

依赖关系