#io-stream #stream #io #dsp #music

sound_stream

为用户系统上的默认音频输入和输出设备流提供一个简单的接口

14 个版本 (4 个重大更新)

使用旧的 Rust 2015

0.6.0 2015年10月31日
0.5.0 2015年10月17日
0.4.4 2015年9月18日
0.4.3 2015年6月11日
0.2.0 2015年3月3日

#42 in #io-stream

MIT 许可证

53KB
1K SLoC

SoundStream 构建状态

尽可能简单、快速的音频 I/O 流,用于封装 PortAudio 的 Rust!看起来像这样

// The callback we'll use to pass to the Stream. It will write the input directly to the output.
let f = Box::new(move |input: &[f32], _: Settings,
                       output: &mut[f32], _: Settings,
                       dt: f64, _: CallbackFlags| {
    for (output_sample, input_sample) in o.iter_mut().zip(i.iter()) {
        *output_sample = *input_sample;
    }
    CallbackResult::Continue
});

// Run our callback on the default, duplex, non-blocking stream.
let stream = SoundStream::new()
    .duplex(StreamParams::new(), StreamParams::new())
    .run_callback(f)
    .unwrap();

用法

将 sound_stream 添加到 Cargo.toml 依赖中,如下所示

[dependencies]
sound_stream = "*"

更多详情,请参阅 示例

PortAudio

SoundStream 使用 PortAudio 作为跨平台的音频后端。在尝试下载和构建 PortAudio 之前,rust-portaudio 依赖项将首先尝试在您的系统上找到已安装的版本。

许可证

MIT - 与 PortAudio 具有相同的许可证。

依赖项

~2.5MB
~29K SLoC