1个不稳定版本
0.1.0 | 2024年1月29日 |
---|
#937 在 音频
每月下载量38次
用于 2 crate
25KB
297 行
dynwave
dynwave是一个基于固定样本流的动态音频播放器,用Rust编写。
本项目的目的是实现一个跨平台音频播放器,可以播放生成的音频样本流并实时播放。
这对于例如模拟器这样的用途很有用,其中模拟循环将类似于这样
- 运行一帧的模拟。
- 提取该帧收集的音频样本。
- 将样本排队以播放(使用
dynwave
)。 - 获取视频帧并显示它。
- 重复。
dynwave的用户
如果您在项目中使用了
dynwave
,请在此处提交一个PR以添加它。
项目 | 描述 |
---|---|
mizu | 用Rust编写的GameBoy模拟器 |
trapezoid | 使用Vulkan和Rust驱动的PSX模拟器 |
入门指南
您可以使用dynwave
为您用Rust编写的项目播放音频流。
Cargo
在您的Cargo.toml
文件中将它添加为依赖项
cargo add dynwave
示例用法
use dynwave::{AudioPlayer, BufferSize};
let mut player = AudioPlayer::<f32>::new(44100, BufferSize::OneSecond).unwrap();
// Start playing the audio
player.play().unwrap();
// generate audio samples (can be done in a emulation loop for example)
let samples = generate_samples();
player.queue(&samples);
// pause the audio
player.pause().unwrap();
许可协议
本项目采用MIT许可协议 - 请参阅LICENSE文件以获取详细信息
依赖项
~4–33MB
~503K SLoC