10 个版本
0.1.9 | 2024年2月6日 |
---|---|
0.1.8 | 2024年1月31日 |
0.1.7 | 2023年12月30日 |
0.1.3 | 2023年11月30日 |
#47 in 多媒体
147 每月下载量
80KB
1.5K SLoC
🐱 kittyaudio
crates.io | docs.rs | 示例 | 变更日志
kittyaudio 是一个专注于简洁、速度和低延迟音频播放的 Rust 音频播放库。
使用 cargo
安装
cargo add kittyaudio
示例
use kittyaudio::{include_sound, Mixer};
fn main() {
// include a sound into the executable.
// this type can be cheaply cloned.
let sound = include_sound!("jump.ogg").unwrap();
// create sound mixer
let mut mixer = Mixer::new();
mixer.init(); // use init_ex to specify settings
let playing_sound = mixer.play(sound);
playing_sound.set_volume(0.5); // decrease volume
mixer.wait(); // wait for all sounds to finish
}
特性
- 低延迟音频播放
- 跨平台音频播放(包括 wasm)
- 实时处理设备更改或断开连接
- 低 CPU 使用率
- 最小依赖
- 最小内存分配
- 没有
()
或.unwrap()
,始终传递错误 - 无不安全代码
- 简单的 API,同时可定制
- 可选使用 Symphonia 以支持大多数音频格式
- 禁用音频播放支持的功能,如果您想将 kittyaudio 仅用作音频库
- 使用 easings 改变音量、播放速度、位置和声像的命令
- 循环,以及使用 easings 改变它们的命令
路线图
这些功能尚未实现。
- 效果(混响、延迟、均衡器等)
- C API
- 从磁盘进行音频流式传输
依赖项
~5–35MB
~597K SLoC