/sonos.rs

🔈 Sonos controller library written in Rust

Primary LanguageRustMIT LicenseMIT

sonos.rs

License Downloads Version Docs

sonos.rs is a Sonos controller library written in Rust. Currently it only supports playback operations (play, pause, stop, skip, add track to queue, remove track from queue) with no support for search operations as of yet.

Example:

extern crate sonos;

let devices = sonos::discover().unwrap();
let bedroom = devices.iter()
    .find(|d| d.name == "Bedroom")
    .expect("Couldn't find bedroom");

let track = bedroom.track().unwrap();
let volume = bedroom.volume().unwrap();

bedroom.play();
println!("Now playing {} - {} at {}% volume.", track.title, track.artist, volume);

For a reference implementation of a CLI for Sonos please see sonos-cli.