9个版本

0.2.8 2024年5月21日
0.2.7 2023年1月17日
0.2.5 2022年9月4日
0.2.4 2022年8月29日
0.1.0-alpha.12020年12月23日

#63 in 音频

Download history 1302/week @ 2024-05-04 1449/week @ 2024-05-11 1768/week @ 2024-05-18 1513/week @ 2024-05-25 1573/week @ 2024-06-01 1074/week @ 2024-06-08 1422/week @ 2024-06-15 1297/week @ 2024-06-22 659/week @ 2024-06-29 725/week @ 2024-07-06 1554/week @ 2024-07-13 1516/week @ 2024-07-20 1254/week @ 2024-07-27 1265/week @ 2024-08-03 2095/week @ 2024-08-10 1390/week @ 2024-08-17

6,168 每月下载量
用于 5 个crates (3 直接)

MIT/Apache

1MB
2.5K SLoC

quad-snd

高级、轻量级且具有偏见的音频库。

  • Web: WebAudio
  • Android: OpenSLES
  • Linux: Alsa
  • macOS: CoreAudio
  • Windows: Wasapi
  • iOS: CoreAudio

由于足够高级,quad-snd 可以针对每个后端使用非常不同的方法。例如,对于 WebAudio,所有播放和混音都是基于音频节点,而在 OpenSLES 中,quad-snd 本身负责混音。

quad-snd 缺少很多功能,最佳的使用方法 - 要么派生一个仓库并根据您的需求微调它,要么只需从某些音频后端复制粘贴一些代码。

与其他任何Rust声音库相比最大的区别
quad-snd 非常小巧。每个后端实现约为 ~300LoC 代码,且自给自足 - 您可以复制粘贴整个内容并运行它,(几乎)不需要任何公共代码、依赖项或类似的东西。

唯一的依赖项是 audreyaudrey 帮助没有文件解析功能的后端(所有平台但Web)从编码的 .wav/.ogg 中获取字节。当不需要Web时,移除 audrey 并使用其他任何东西(或根本不使用)进行音频解码是一种超级简单的修复方法。

归属

在构建 quad-snd 时,我研究了以下库的实现

https://github.com/floooh/sokol/blob/master/sokol_audio.h
https://github.com/norse-rs/audir
https://github.com/unrust/uni-snd

依赖项