3 个版本

使用旧的 Rust 2015

0.3.2 2020 年 5 月 14 日
0.3.1 2019 年 6 月 11 日
0.3.0 2017 年 3 月 6 日

#1 in #port-audio

Download history 222/week @ 2024-03-13 256/week @ 2024-03-20 251/week @ 2024-03-27 227/week @ 2024-04-03 174/week @ 2024-04-10 197/week @ 2024-04-17 229/week @ 2024-04-24 218/week @ 2024-05-01 226/week @ 2024-05-08 208/week @ 2024-05-15 268/week @ 2024-05-22 261/week @ 2024-05-29 224/week @ 2024-06-05 214/week @ 2024-06-12 222/week @ 2024-06-19 165/week @ 2024-06-26

859 每月下载次数
用于 9 个 crate (3 个直接使用)

MIT 许可证

52KB
1K SLoC

portaudio-rs

Build Status

文档

为 Rust 提供的 PortAudio 绑定

参见 http://portaudio.com/

示例

extern crate portaudio_rs as portaudio;

fn demo() -> portaudio::PaResult
{
    let stream = try!(portaudio::stream::Stream::open_default(
                          0, // input channels
                          1, // output channels
                          44100.0, // sample rate
                          portaudio::stream::FRAMES_PER_BUFFER_UNSPECIFIED,
                          None // no callback
                     ));

    try!(stream.start());

    let mut phase = 0.0f32;
    let mut buffer = Vec::with_capacity(44100);
    for _i in (0..44100)
    {
        // Small amplitude such that the test does not produce sound
        buffer.push(phase * 0.001);

        phase += 0.03;
        if phase > 1.0 { phase -= 2.0; }
    }

    try!(stream.write(&buffer));

    Ok(())
}

fn main()
{
    portaudio::initialize().unwrap();
    println!("{:?}", demo());
    portaudio::terminate().unwrap();
}

依赖项

~150KB