7个版本 (3个稳定版)
2.0.0 | 2023年9月16日 |
---|---|
1.1.0 | 2021年1月15日 |
1.0.0 | 2020年12月23日 |
0.1.3 | 2020年8月8日 |
0.1.2 | 2020年4月28日 |
#424 in 异步
每月85次下载
用于 sinuous
42KB
879 代码行
这个crate是一个用Rust编写的Sonos控制器库。它异步操作,并旨在提供简单易用且功能强大的API。
示例
let speaker = sonor::find("your room name", Duration::from_secs(2)).await?
.expect("room exists");
println!("The volume is currently at {}", speaker.volume().await?);
match speaker.track().await? {
Some(track_info) => println!("- Currently playing '{}", track_info.track()),
None => println!("- No track currently playing"),
}
speaker.clear_queue().await?;
speaker.join("some other room").await?;
查看实现的所有操作的完整列表,请参阅Speaker文档。
如果您的用例未被覆盖,此crate还公开了原始UPnP Action API 此处。它可以这样使用
use sonor::URN;
let service = URN::service("schemas-upnp-org", "GroupRenderingControl", 1);
let args = "<InstanceID>0</InstanceID>";
let response = speaker.action(&service, "GetGroupMute", args).await?;
println!("{}", response["CurrentMute"]);
依赖项
~5–14MB
~170K SLoC