2个不稳定版本

0.2.1 2024年1月21日
0.2.0 2024年1月21日
0.1.0 2023年7月22日

#587 in 音频

每月 21 次下载

BSD-3-Clause

49KB
708

opusenc-rs

Build Status Crates.io Documentation License: BSD-3-Clause

libopusenc的高级绑定。

示例

let audio_data: Vec<i16> = {
    let mut file = std::fs::File::open("/dev/urandom")?;
    let mut buf = vec![0; 60 * 48_000 * 2 * 2];
    file.read_exact(&mut buf)?;
    buf.chunks_exact(2)
        .map(|a| i16::from_ne_bytes([a[0], a[1]]))
        .collect()
};

let mut encoder = Encoder::create_file(
    "/tmp/noise.opus",
    Comments::create()
        .add(RecommendedTag::Title, "Random Noise")?
        .add(RecommendedTag::Artist, "/dev/urandom")?,
    48_000,
    2,
    MappingFamily::MonoStereo,
)?;

encoder.write(&audio_data)?;
encoder.drain()?;

编码器选项

此crate提供了一个encoder-options功能,该功能可以读取和更改编码器选项。

警告:这些选项中的一些可能不与opusenc兼容,可能是不可靠的,甚至可能导致UB。它们旨在通过不与Rust兼容的C宏来使用。请确保您使用的方法与预期行为相匹配。

许可证

本项目采用BSD-3-Clause许可证。

有关更多信息,请参阅COPYING

依赖关系

~0.3–2.5MB
~52K SLoC