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 音频
434 每月下载量
用于 6 crates
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:\msys32
或 C:\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