Add mute playback to CLI app
This commit is contained in:
@@ -52,6 +52,13 @@ fn main() {
|
||||
.help("Enables surround sound. This may be on by default and cannot be changed on your device.")
|
||||
.value_parser(clap::value_parser!(bool)),
|
||||
)
|
||||
.arg(
|
||||
Arg::new("mute_playback")
|
||||
.long("mute_playback")
|
||||
.required(false)
|
||||
.help("Mute or unmute playback.")
|
||||
.value_parser(clap::value_parser!(bool)),
|
||||
)
|
||||
.get_matches();
|
||||
|
||||
let mut device = match connect_compatible_device() {
|
||||
@@ -153,6 +160,17 @@ fn main() {
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(mute_playback) = matches.get_one::<bool>("mute_playback") {
|
||||
if let Some(packet) = device.set_silent_mode_packet(*mute_playback) {
|
||||
device.prepare_write();
|
||||
if let Err(err) = device.get_device_state().hid_device.write(&packet) {
|
||||
println!("Failed to mute playback with error: {:?}", err)
|
||||
}
|
||||
} else {
|
||||
println!("Can't mute playback on this device")
|
||||
}
|
||||
}
|
||||
|
||||
std::thread::sleep(Duration::from_secs_f64(0.5));
|
||||
|
||||
println!("State after potentially setting some stuff");
|
||||
|
||||
Reference in New Issue
Block a user