11 stable releases
2.4.0 | Jul 23, 2020 |
---|---|
2.3.1 |
|
1.2.0 | Jun 29, 2020 |
1.1.3 | Apr 20, 2020 |
0.1.0 | Apr 4, 2020 |
#27 in #pcm
144 downloads per month
Used in 3 crates
(via miniaudio)
2.5MB
52K
SLoC
Mini Audio Rust Bindings
Bindings to https://github.com/dr-soft/miniaudio
** The crate currently lacks documentation, but for the most part the API is very close the the API of the miniaudio C library. That can be found in the C library's main header file. **
Building
LLVM and clang must be installed in order to generate the bindings. Installation instructions can be found here: https://rust-lang.github.io/rust-bindgen/requirements.html
Example Usage
For more examples, check out the examples directory.
//! Enumerating Devices
use miniaudio::Context;
pub fn main() {
let context = Context::new(&[], None).expect("failed to create context");
context
.with_devices(|playback_devices, capture_devices| {
println!("Playback Devices:");
for (idx, device) in playback_devices.iter().enumerate() {
println!("\t{}: {}", idx, device.name());
}
println!("Capture Devices:");
for (idx, device) in capture_devices.iter().enumerate() {
println!("\t{}: {}", idx, device.name());
}
})
.expect("failed to get devices");
}