13 个稳定版本
使用旧的 Rust 2015
3.0.4 | 2019年5月21日 |
---|---|
3.0.3 | 2018年8月18日 |
3.0.1 | 2017年12月21日 |
3.0.0 | 2017年7月30日 |
0.1.1 |
|
在 音频 中排名第 843
每月下载量 368 次
在 5 个crate中使用(直接使用3个)
340KB
6.5K SLoC
alto
alto
为 OpenAL 1.1 及扩展(包括 EFX)提供惯用的 Rust 绑定。
警告
由于 Alto 通过动态链接与全局 C 状态交互,一个项目中存在多个 Alto 版本可能会导致不安全。请确保在任何时候您的依赖树中只包含一个 Alto 版本。
API 使用
let alto = Alto::load_default()?;
for s in alto.enumerate_outputs() {
println!("Found device: {}", s.to_str()?);
}
let device = alto.open(None)?; // Opens the default audio device
let context = device.new_context(None)?; // Creates a default context
// Configure listener
context.set_position([1.0, 4.0, 5.0]);
context.set_velocity([2.5, 0.0, 0.0]);
context.set_orientation(([0.0, 0.0, 1.0], [0.0, 1.0, 0.0]));
let source = context.new_static_source()?;
// Now you can load your samples and store them in a buffer with
// `context.new_buffer(samples, frequency)`;
lib.rs
:
概述
Alto 是 OpenAL 3D 音频 API 及其相关扩展(包括 EFX)的惯用包装器。本文档不描述如何使用 OpenAL API 本身,而是解释了它是如何适应 Rust 的,并提供每个函数的本地符号,以便可以与官方 OpenAL 文档进行交叉引用以获取详细信息。
API 的核心是 Alto
结构。它在原始 OpenAL 中没有对应物,代表了 API 的实现。从这里,可以实例化熟悉的 OpenAL 对象。
警告
由于 Alto 通过动态链接与全局 C 状态交互,一个项目中存在多个 Alto 版本可能会导致不安全。请确保在任何时候您的依赖树中只包含一个 Alto 版本。
依赖项
~0.8–1.5MB
~26K SLoC