1 unstable release

Uses old Rust 2015

0.1.1 Mar 6, 2017

#7 in #port-audio

Download history 381/week @ 2024-11-15 463/week @ 2024-11-22 388/week @ 2024-11-29 467/week @ 2024-12-06 577/week @ 2024-12-13 493/week @ 2024-12-20 528/week @ 2024-12-27 339/week @ 2025-01-03 480/week @ 2025-01-10 434/week @ 2025-01-17 422/week @ 2025-01-24 535/week @ 2025-01-31 356/week @ 2025-02-07 328/week @ 2025-02-14 384/week @ 2025-02-21 238/week @ 2025-02-28

1,372 downloads per month
Used in 10 crates (via portaudio-rs)

MIT license

11KB
209 lines

portaudio-rs

Build Status

Documentation

PortAudio bindings for Rust

See http://portaudio.com/

Example

extern crate portaudio_rs as portaudio;

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

    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; }
    }

    stream.write(&buffer)?;

    Ok(())
}

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

Dependencies

~47KB