#audio-devices #cubeb #back-end #audio-stream #bindings #cross-platform #api-bindings

cubeb-backend

通过绑定到libcubeb内部接口,以便在Rust中实现cubeb后端

22个版本

使用旧Rust 2015

0.13.0 2024年5月13日
0.12.0 2024年1月16日
0.10.7 2023年12月12日
0.10.3 2022年10月6日
0.5.1 2018年3月28日

#284 in 音频

Download history 439/week @ 2024-05-02 478/week @ 2024-05-09 407/week @ 2024-05-16 318/week @ 2024-05-23 223/week @ 2024-05-30 152/week @ 2024-06-06 460/week @ 2024-06-13 165/week @ 2024-06-20 371/week @ 2024-06-27 414/week @ 2024-07-04 748/week @ 2024-07-11 472/week @ 2024-07-18 636/week @ 2024-07-25 497/week @ 2024-08-01 434/week @ 2024-08-08 252/week @ 2024-08-15

1,891 每月下载

ISC许可

85KB
2K SLoC

cubeb-rs ISC License

Rust的多平台音频库。

特性

提供以下访问权限

  • 多个平台上多个音频后端。详细信息请参见这里
  • 枚举可用音频设备。
  • 打开输入、输出和全双工音频流,并控制延迟、采样率、通道布局、状态转换、数据处理等。

目标

目前,cubeb-rs基于一组绑定到原始的cubeb C++库,该库最著名的是作为Gecko(Mozilla的浏览器引擎)中的音频后端。对于cubeb-rs的长期目标是使其独立于C++库,并提供一个纯Rust实现,最终在Gecko中可能替换原始库。

为了实现这一目标,cubeb-rs以支持纯Rust和通过绑定到C++实现的方式进行后端实现,从而允许逐步替换。到目前为止,纯Rust实现包括

计划在不久的将来将所有与 cubeb 相关的项目(包括后端实现)整合到单个仓库 此处

虽然 cubeb 主要以其在 Gecko 中的使用而闻名,但对 Gecko 之外项目的贡献和使用也受到欢迎。

软件包

以下软件包包含在此仓库中

软件包 链接 描述
cubeb crates.io docs.rs cubeb-rs 的顶级用户 API。请参阅 cubeb-api 子目录。依赖于 cubeb-core
cubeb-core crates.io docs.rs cubeb Rust 和 C 绑定的公共类型和定义。不推荐直接使用。依赖于 cubeb-sys
cubeb-sys crates.io docs.rs 对 cubeb C++ 库的本机绑定。需要 pkg-configcmake
cubeb-backend crates.io docs.rs 绑定到 libcubeb 内部结构,以方便在 Rust 中实现 cubeb 后端。依赖于 cubeb-core

依赖关系

~1.5MB
~31K SLoC