17 个版本

0.2.1 2023 年 4 月 25 日
0.2.0 2023 年 4 月 15 日
0.1.14 2023 年 4 月 9 日
0.1.12 2023 年 2 月 17 日
0.1.6 2022 年 9 月 23 日

#2537命令行工具

Download history 19/week @ 2024-03-11 20/week @ 2024-03-18 11/week @ 2024-03-25 36/week @ 2024-04-01 14/week @ 2024-04-08 9/week @ 2024-04-15 18/week @ 2024-04-22 15/week @ 2024-04-29 12/week @ 2024-05-06 15/week @ 2024-05-13 17/week @ 2024-05-20 10/week @ 2024-05-27 10/week @ 2024-06-03 16/week @ 2024-06-10 19/week @ 2024-06-17 13/week @ 2024-06-24

每月 58 次下载
5 个crate中使用 (直接使用 2 个)

MIT 许可证

595KB
14K SLoC

音乐播放器(用 Rust 编写)

License: MIT GitHub all releases release rust-clippy discord-server

注意:这是一个正在进行中的作品。 🏗️🚧

这是我为自己制作的一个简单的音乐播放器。它用 Rust 编写,并使用 rodiosymphoniagRPC 库。
音乐通过服务器的音频设备播放。守护进程存储有关所有可用音乐的详细信息,这些信息可以轻松搜索和检索。类似于 mpdMopidy,但用 Rust 编写。

安装

从源代码编译,不使用 Nix

# Install dependencies
brew install protobuf # macOS
sudo apt-get install -y libasound2-dev protobuf-compiler # Ubuntu/Debian
choco install protoc # Windows using Chocolatey Package Manager
# Compile
git clone https://github.com/tsirysndr/music-player.git
cd music-player/webui/musicplayer
nvm install # install node version specified in .nvmrc (optional on windows)
bun install && bun run build # build webui
cd ../..
cargo install --path .

使用 Nix

git clone https://github.com/tsirysndr/music-player.git
cd music-player
nix develop --experimental-features "nix-command flakes"
cd webui/musicplayer
bun install && bun run build # build webui
cd ../..
cargo install --path .

macOS/Linux

使用 Homebrew

brew install tsirysndr/tap/musicplayer

使用 Nix

nix profile install --experimental-features "nix-command flakes" github:tsirysndr/music-player

或下载适用于您的平台的最新版本 此处

📦 下载

最新版(桌面版)

最新版(CLI)

其他版本...

启动服务器

music-player

用法

USAGE:
    music-player [SUBCOMMAND]

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    albums      List all albums
    artists     List all artists
    help        Print this message or the help of the given subcommand(s)
    next        Play the next song
    pause       Pause the current song
    open        Open audio file
    playlist    Manage playlists
    prev        Play the previous song
    queue       Manage the queue
    play        Resume the current song
    scan        Scan music library: $HOME/Music
    search      Search for a song, album, artist or playlist
    stop        Stop the current song
    tracks      List all tracks

GraphQL API

# Start the server
music-player

在浏览器中打开 https://127.0.0.1:5053/graphiql

功能

  • 从指定路径播放音乐
  • 支持配置文件
  • gRPC API 用于控制播放器
  • 扫描音乐库
  • 播放/暂停/停止音乐
  • 下一曲/上一曲
  • 创建/删除播放列表
  • 音乐播放器客户端
  • 终端 UI(使用 tui-rs
  • GraphQL API
  • Web UI
  • 桌面版本(使用 gtk-rs
  • Android 库(见 songbird-androidsongbird-android-rs
  • iOS 库
  • 移动版本(React Native)
  • 流式传输到 Chromecast
  • 流式传输到 Airplay
  • 流式传输到 Kodi
  • 流式传输到 UPnP 媒体渲染器
  • 从 Youtube 流式传输(仅音频)
  • 从 Spotify 流式传输
  • 从 Soundcloud 流式传输
  • 从 Deezer 流式传输
  • 从 DatPiff 流式传输
  • 从 Tidal 流式传输
  • MyVazo 流式传输

✨ 星星历史

Star History Chart

依赖项

~86–120MB
~2M SLoC