18 lines
767 B
Rust
18 lines
767 B
Rust
|
|
//! Microphone capture (optional `audio` feature).
|
||
|
|
//!
|
||
|
|
//! Two backends share one interface (`spawn_pcm_capture`,
|
||
|
|
//! `capture_pcm_for_duration`, `CaptureHandle`):
|
||
|
|
//! - non-Linux (macOS/Windows): `cpal` (coreaudio/wasapi), linked into the binary;
|
||
|
|
//! - Linux: a subprocess recorder (`pw-record`/`parec`/`arecord`), because the
|
||
|
|
//! static-musl release binary cannot link `cpal` -> `alsa-sys`. See
|
||
|
|
//! [`capture_linux`] for the full rationale.
|
||
|
|
|
||
|
|
#[cfg(not(target_os = "linux"))]
|
||
|
|
mod capture;
|
||
|
|
#[cfg(not(target_os = "linux"))]
|
||
|
|
pub use capture::{CaptureHandle, capture_pcm_for_duration, spawn_pcm_capture};
|
||
|
|
|
||
|
|
#[cfg(target_os = "linux")]
|
||
|
|
mod capture_linux;
|
||
|
|
#[cfg(target_os = "linux")]
|
||
|
|
pub use capture_linux::{CaptureHandle, capture_pcm_for_duration, spawn_pcm_capture};
|