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"