Skip to main content

Crate volumecontrol

Crate volumecontrol 

Source
Expand description

Cross-platform crate to control system audio volume.

This crate provides a unified AudioDevice type that works on Linux, Windows, and macOS. The correct backend is selected automatically at compile time; no feature flags or sub-crate imports are required.

PlatformBackendSystem library required
LinuxPulseAudiolibpulse-dev
WindowsWASAPIbuilt-in
macOSCoreAudiobuilt-in

§Example

use volumecontrol::AudioDevice;

fn main() -> Result<(), volumecontrol::AudioError> {
    let device = AudioDevice::from_default()?;
    println!("{device}");  // e.g. "Speakers ({0.0.0.00000000}.{…})"
    println!("Current volume: {}%", device.get_vol()?);
    Ok(())
}

Structs§

AudioDevice
A cross-platform audio output device.
DeviceInfo
Metadata for an available audio device returned by crate::AudioDevice::list.

Enums§

AudioError
Error type for all volumecontrol operations.