#cubeb #定义 # #绑定 #直接 #预期 #设备

cubeb-core

为cubeb rust和C绑定提供常用类型和定义。不建议直接使用。

25个版本

使用旧的Rust 2015

0.13.0 2024年5月13日
0.12.0 2024年1月16日
0.10.7 2023年12月12日
0.10.4 2023年9月27日
0.5.0 2018年3月22日

#927音频

Download history 320/week @ 2024-04-25 471/week @ 2024-05-02 503/week @ 2024-05-09 428/week @ 2024-05-16 332/week @ 2024-05-23 245/week @ 2024-05-30 168/week @ 2024-06-06 475/week @ 2024-06-13 177/week @ 2024-06-20 443/week @ 2024-06-27 352/week @ 2024-07-04 773/week @ 2024-07-11 512/week @ 2024-07-18 680/week @ 2024-07-25 524/week @ 2024-08-01 455/week @ 2024-08-08

2,325 每月下载量
3 个crate中使用(2个直接使用)

ISC 许可证

1MB
26K SLoC

C++ 15K SLoC // 0.1% comments C 8K SLoC // 0.1% comments Rust 2K SLoC // 0.1% comments Shell 8 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

依赖项