system_audio_volume/
system_audio_volume.rs

1use {
2    cxx_juce::juce_audio_devices::SystemAudioVolume,
3    std::{thread::sleep, time::Duration},
4};
5
6fn delay() {
7    sleep(Duration::from_secs(1));
8}
9
10fn main() {
11    let original_gain = SystemAudioVolume::get_gain();
12    println!("System gain is currently set at {original_gain}");
13
14    delay();
15
16    println!("Halving the gain ๐Ÿคซ");
17    SystemAudioVolume::set_gain(original_gain / 2.0);
18
19    delay();
20
21    println!("Muting ๐Ÿ”‡");
22    SystemAudioVolume::mute();
23
24    delay();
25
26    println!("Unmuting ๐Ÿ”Š");
27    SystemAudioVolume::unmute();
28
29    delay();
30
31    print!("Putting it back to how you had it ๐Ÿงน");
32    SystemAudioVolume::set_gain(original_gain);
33}