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 2016年11月3日

音频 中排名第 843

Download history 92/week @ 2024-03-11 108/week @ 2024-03-18 113/week @ 2024-03-25 140/week @ 2024-04-01 79/week @ 2024-04-08 101/week @ 2024-04-15 96/week @ 2024-04-22 83/week @ 2024-04-29 102/week @ 2024-05-06 82/week @ 2024-05-13 73/week @ 2024-05-20 91/week @ 2024-05-27 82/week @ 2024-06-03 81/week @ 2024-06-10 90/week @ 2024-06-17 105/week @ 2024-06-24

每月下载量 368
5 个crate中使用(直接使用3个)

MIT/Apache

340KB
6.5K SLoC

alto

altoOpenAL 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