12 个版本
0.2.2 | 2021 年 4 月 22 日 |
---|---|
0.2.1 | 2021 年 4 月 22 日 |
0.1.8 | 2020 年 11 月 12 日 |
0.1.7 | 2020 年 1 月 16 日 |
0.1.1 | 2019 年 3 月 29 日 |
#868 in 音频
8,317 每月下载量
用于 21 个 Crates (5 直接)
2.5MB
46K SLoC
包含 (晦涩的 autoconf 代码,35KB) opus/configure.ac
关于
audiopus_sys
是 Opus
版本 1.3 的 FFI-Rust 绑定。
最初,这个 sys-crate 是为了使 serenity
-crate 能够在 Windows、Linux 和 Mac 上构建音频功能。但是,它并不局限于这一点。
欢迎每个人贡献力量,有关进一步指导,请查看 CONTRIBUTING.md
。
构建
需求
如果您想构建 Opus,则需要 cmake
。
如果您有 pkg-config
,它将在构建之前尝试使用它。
您还可以链接预先安装的 Opus,请参见下文的 预安装 Opus。
此 crate 提供了一个预构建的绑定。如果您想自己生成绑定,则需要 Clang
,有关进一步说明,请参见下文的 预安装 Opus。
链接
audiopus_sys
链接到 Opus 1.3,并支持 Windows、Linux 和 MacOS。默认情况下,我们为 Windows、MacOS 和使用 musl
环境的情况静态链接。对于 Linux,除非使用上述 musl
,否则我们将动态链接。
可以通过编译时带有 static
或 dynamic
功能来更改此设置,它们的效果分别对应它们的名称。如果这两个功能都启用,我们将选择您的系统默认值。
名为 LIBOPUS_STATIC
或 OPUS_STATIC
的环境变量将优先于功能,从而覆盖行为。这些环境变量的值不会影响结果:如果其中之一被设置,将选择静态链接。
Pkg-Config
默认情况下,audiopus_sys
将在 Unix 或 GNU 上使用 pkg-config
。设置环境变量 LIBOPUS_NO_PKG
或 OPUS_NO_PKG
将绕过通过 pkg-config
查找 Opus。
预安装的 Opus
如果您已经预安装了 Opus,可以将 LIBOPUS_LIB_DIR
或 OPUS_LIB_DIR
设置为包含 Opus 的目录。
请注意,使用版本不是 1.3 的 Opus 可能无法正常工作。
生成绑定
如果您想自己生成绑定,可以使用 generate_binding
-功能。
请注意,bindgen
需要 Clang,并且需要指定其 LIBCLANG_PATH
环境变量。
安装
将以下内容添加到您的 Cargo.toml
[dependencies]
audiopus_sys = "0.2"