#sound #pcm #miniaudio

om-fork-miniaudio

对miniaudio C库的绑定。直到上游更新为止进行分支操作!

3个不稳定版本

0.12.1 2024年3月16日
0.12.0 2022年12月6日
0.11.0 2022年4月16日

#148 in 音频

Download history 13/week @ 2024-05-20 6/week @ 2024-05-27 10/week @ 2024-06-03 13/week @ 2024-06-10 8/week @ 2024-06-17 9/week @ 2024-06-24 3/week @ 2024-07-01 15/week @ 2024-07-15 31/week @ 2024-07-29 7/week @ 2024-08-05

每月下载量 53次

MIT 许可证

5.5MB
141K SLoC

Rust 87K SLoC // 0.0% comments C 54K SLoC // 0.1% comments

Mini Audio Rust绑定

注意: 由于cbindgen依赖项过时,上游版本目前存在问题。这是一个临时解决方案,直到上游修复为止。已提交pull请求。

Build Status crates.io docs.rs

https://github.com/dr-soft/miniaudio的绑定

** 该软件包目前缺少文档,但API与miniaudio C库的API非常接近。可以在C库的主要头文件中找到这些信息。**

构建

为了生成绑定,必须安装LLVM和clang。安装说明可以在此处找到:https://rust-lang.github.io/rust-bindgen/requirements.html

示例用法

更多示例,请查看示例目录。

//! 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");
}

依赖项