2个不稳定版本
0.2.1 | 2024年1月21日 |
---|---|
0.2.0 |
|
0.1.0 | 2023年7月22日 |
#587 in 音频
每月 21 次下载
49KB
708 行
opusenc-rs
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