4 个稳定版本

1.1.2 2024年4月29日
1.1.1 2022年2月5日
1.0.0 2022年2月5日

Web 编程 中排名 1190

Download history 207/week @ 2024-04-26 17/week @ 2024-05-03 3/week @ 2024-05-17 4/week @ 2024-06-28 18/week @ 2024-07-05

每月下载量 226

MIT 许可证

26KB
473

BluOS API 包装器用于 Rust

这些是围绕 BluOS 半文档化 API 的便捷包装器。它带有使用 mDNS 的发现功能,因此您无需烦恼如何找到您的 BluOS 设备的 IP 地址。

为什么您想在 Rust 中使用这个?在 Python 或 Node 中做类似的事情不是更合理吗?谁会使用 Rust 做这件事? 好问题往往缺乏好答案

use anyhow::Result;
use bluos_api_rs::{BluOS, Discovery};

#[tokio::main]
async fn main() -> Result<()> {
    // Find the first device in our network
    let device = Discovery::discover_one().await?;

    // Create a new BluOS device from the discovered address
    let bluos = BluOS::new_from_discovered(device)?;

    // Print the status
    let status = bluos.status().await?;
    dbg!(status);

    // List items in the play queue
    let playlist = bluos.queue(None).await?;
    for n in playlist.entries {
        println!("{}", n.title.unwrap_or_default());
    }

    // Resume playback
    bluos.play().await?;
    
    Ok(())
}

如果您不想使用发现和 Tokio,可以禁用 discover 功能。

依赖项

~4–15MB
~215K SLoC