#web-api #music #subsonic #api #airsonic

sunk

Subsonic 音乐流媒体 API 的 Rust 绑定

3 个版本

使用旧的 Rust 2015

0.1.2 2018年11月28日
0.1.1 2018年2月4日
0.1.0 2018年2月2日

#238 in #music

Apache-2.0/MIT

155KB
3.5K SLoC

sunk

crates.io

一个用于与 Subsonic API 交互的库。

该库旨在尽可能地使 Rust 用户感到舒适,感觉尽可能自然。

它旨在支持从 1.8.0 版本开始的任何 Subsonic API。

快速使用

extern crate sunk;

let username = "guest3";
let password = "guest";
let site = "http://demo.subsonic.org";

let client = sunk::Client::new(site, username, password).unwrap();

// Update the library.
client.ping().unwrap()
client.scan_library().unwrap();

// Fetch some songs and play them.
let mut random = sunk::song::Song::random(&client, 20).unwrap();
for song in random {
    song.set_max_bit_rate(96);
    let bytes: Vec<u8> = song.stream(&client);
    // Pass `bytes` to an audio library to actually play the song.
}

待办事项

  • 尚未支持
    • 聊天
    • 书签
    • 大部分功能针对播客
  • 未计划支持
    • 共享;该系统不符合库其余部分的常规操作方法,需要大量重构或专门化。
  • 文档!
  • 单元测试,尤其是需要服务器的操作!

许可

许可方式为以下两种之一:

任选其一。

贡献

除非您明确说明,否则任何有意提交以包含在作品中的贡献,根据 Apache-2.0 许可证的定义,都应按照上述方式双许可,不附加任何额外条款或条件。

依赖项

~19MB
~427K SLoC