#spotify #extension #info #metadata #spicetify

spotify_info

使用 spicetify 扩展和 WebSocket 从 Spotify 获取元数据

8 个版本 (4 个重大变更)

0.5.0 2022 年 4 月 3 日
0.4.0 2022 年 4 月 1 日
0.3.0 2021 年 12 月 23 日
0.2.2 2021 年 12 月 23 日
0.1.1 2021 年 12 月 21 日

#173 in WebSocket

每月 33 次下载

MIT 许可证

12KB
135 代码行

crates.io docs.rs license

Spotify Info

使用 WebSocket 通过 spicetify 扩展从 Spotify 获取元数据

我制作这个主要是为了我的音频可视化器,以便在 Windows 上没有提供任何方法进行此操作的情况下,与歌曲信息一起显示,在 Linux 上我可以使用 MPRIS,对于 macOS,我不知道,我没有使用它

这将在所有桌面平台上(Windows、Linux、macOS)工作

API 使用

示例可以在 examples 目录中找到

use spotify_info::{SpotifyEvent, TrackListener};

#[tokio::main]
async fn main() {
  // Create listener
  let listener = TrackListener::bind_default().await.unwrap();

  // Listen for incoming connections, if spotify closes, the loop keeps listening
  while let Ok(mut connection) = listener.get_connection().await {
    while let Some(Ok(event)) = connection.next().await {
      match event {
        // Gets called when user changed track
        SpotifyEvent::TrackChanged(info) => println!("Changed track to {}", info.title),
        // Gets called when user changes state (if song is playing, paused or stopped)
        SpotifyEvent::StateChanged(state) => println!("Changed state to {}", state),
        // Gets called on a set interval, wont get called if player is paused or stopped,
        // Value is a percentage of the position between 0 and 1
        SpotifyEvent::ProgressChanged(time) => println!("Changed progress to {}", time)
      }
    }
  }
}

使用 API

将此添加到您的 Cargo.toml 依赖项中

spotify_info = "0.5"

计划

  • 改进文档
  • 使说明易于普通用户理解
  • 歌曲创作时间
  • 歌曲所在的播放列表

安装/卸载 Spicetify 扩展

自动安装

运行脚本进行安装,再次运行以卸载

Windows

打开 PowerShell(Win + S),输入 powershell 并按回车键,然后运行此命令

Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/Ricky12Awesome/spotify_info/main/extension/install_extension.ps1" | Invoke-Expression

Linux / macOS

打开 Terminal(通常在 Linux 上是 Ctrl + Alt + T),然后运行此命令

curl https://raw.githubusercontent.com/Ricky12Awesome/spotify_info/main/extension/install_extension.sh | sh

手动

您可以从 这里 获取扩展(右键单击 ->另存为)

将此文件放置在 Windows 上的 %userprofile%\.spicetify\Extensions\ 或 Linux / macOS 上的 ~/.config/spicetify/Extensions

安装

从终端运行命令 spicetify config extensions spotify_info.js && spicetify apply 以安装插件

卸载

从终端运行命令 spicetify config extensions spotify_info.js- && spicetify apply 以卸载插件

有关安装扩展的更多详情 https://spicetify.app/docs/getting-started/extensions

依赖项

~6–16MB
~214K SLoC