8个版本 (5个重大更新)
0.6.1 | 2023年10月20日 |
---|---|
0.6.0 | 2023年9月13日 |
0.5.0 | 2023年1月27日 |
0.4.1 | 2022年9月14日 |
0.1.0 | 2022年4月21日 |
在 音频 中排名第96
每月下载量:27
46KB
1K SLoC
Radiobrowser Lib Rust
radio-browser.info和其他radio-browser-rust服务器的客户端库
功能
- 异步/阻塞API
- 使用构建器模式的干净查询API
- 国家、语言、标签、电台、服务器配置
- 服务器统计
- 电台操作:点击、投票
- 添加流
包功能
- "blocking" - 支持非异步(阻塞)模式
- "chrono" - 返回DateTime对象而不是字符串
入门(阻塞)
示例
需要启用"blocking"功能。Cargo.toml条目
radiobrowser = { version = "*", features = ["blocking"] }
use radiobrowser::blocking::RadioBrowserAPI;
use std::error::Error;
fn main() -> Result<(), Box<dyn Error>> {
let mut api = RadioBrowserAPI::new()?;
let servers = RadioBrowserAPI::get_default_servers()?;
println!("Servers: {:?}", servers);
let status = api.get_server_status()?;
println!("Status: {:?}", status);
let countries = api.get_countries().send()?;
println!("Countries: {:?}", countries);
let stations = api.get_stations().name("jazz").send()?;
println!("Stations: {:?}", stations);
Ok(())
}
入门(异步)
Cargo.toml条目
radiobrowser = "*"
示例
use radiobrowser::RadioBrowserAPI;
use radiobrowser::StationOrder;
use std::error::Error;
#[async_std::main]
async fn main() -> Result<(), Box<dyn Error>> {
let mut api = RadioBrowserAPI::new().await?;
let stations = api
.get_stations()
.name("jazz")
.reverse(true)
.order(StationOrder::Clickcount)
.send()
.await?;
println!("Stations found: {}", stations?.len());
Ok(())
}
用法
文档在 https://docs.rs/radiobrowser
许可
本项目采用MIT许可。
依赖项
~14–30MB
~509K SLoC