Skip to content

aizcutei/ruhear

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RUHear

Crates.io Docs.rs License

A simple crate that allows you to capture system output audio (what aRe yoU HEARing).

Dependencies

Usage

See examples folder for simple example.

use ruhear::{Ruhear, RUBuffers, RUCallback};

fn main() {
    // Create a callback that will be called every time the audio buffers are ready
    // RUBuffers is a multichannel Vec<f32>. Default sampleRate is 48000Hz on Windows and macOS and 44100Hz on Linux.
    let callback = |data: RUBuffers| {
        println!("{:?}", data);
    };

    // Create a Ruhear instance and start capturing audio, use RUCallback! macro to create a thread-safe callback
    let mut ruhear = RUCallback!(callback);

    // Start capturing audio
    ruhear.start();

    std::thread::sleep(std::time::Duration::from_secs(5));

    // Stop capturing audio
    ruhear.stop();
}

TODO

  • Error handling
  • Add support for ASIO(Windows) and JACK(Linux)
  • Add support for fine-grained control capturing audio like from a specific application/device