A simple crate that allows you to capture system output audio (what aRe yoU HEARing).
- On windows and linux: cpal
- On macos: screencapturekit
- No plan for other platforms yet
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();
}
- Error handling
- Add support for ASIO(Windows) and JACK(Linux)
- Add support for fine-grained control capturing audio like from a specific application/device