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 多媒体

Download history 41/week @ 2024-03-10 1/week @ 2024-03-17 65/week @ 2024-03-31

147 每月下载量

MIT OR BSL-1.0

80KB
1.5K SLoC

🐱 kittyaudio

docs.rs Downloads on Crates.io

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