PvRecorder is an easy-to-use, cross-platform audio recorder designed for real-time speech audio processing. It allows developers access to an audio device's input stream, broken up into data frames of a given size.
To add the pvrecorder library into your app, add pv_recorder
to your app's Cargo.toml
manifest:
toml
[dependencies]
pv_recorder = "*"
Getting the list of input devices does not require an instance:
```rust use pv_recorder::PvRecorderBuilder
let audiodevices = PvRecorderBuilder::default().getaudio_devices()?; ```
To start recording, initialize an instance using the builder and call start()
:
```rust use pv_recorder::PvRecorderBuilder;
let framelength = 512; let recorder = PvRecorderBuilder::new(framelength).init()?; recorder.start()? ```
Read frames of audio:
rust
while recorder.is_recording() {
let frame = recorder.read()?;
// process audio frame
}
To stop recording, call stop()
on the instance:
rust
recorder.stop()?;
The PvRecorder Rust demo is a Rust command-line application that demonstrates how to use PvRecorder to record audio to a file.