
librespot 项目重启维护:开源 Spotify 客户端库更换维护组织
来源标题:Open Source Spotify client library
原由 plietar 创建的 librespot 因缺乏维护,现已迁移至新组织与仓库继续维护。它是一个开源 Spotify 客户端库,可作为已弃用的闭源 libspotify 替代品,支持 Spotify Connect 接收器与多种播放后端,但仅支持 Spotify Premium 账户。项目已发布在 crates.io,可通过 cargo install librespot 安装使用。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
当前维护者名单见 GitHub。
librespot 是一个开源的 Spotify 客户端库。它让应用程序能够通过多种后端使用 Spotify 的服务来控制并播放音乐,还能充当 Spotify Connect 接收器。它是官方现已弃用的闭源 libspotify 的替代方案。此外,它还将提供官方库中没有的额外功能。
注意:librespot 仅支持 Spotify Premium,这一点不会改变。我们不会支持任何让 librespot 兼容免费账户的功能,例如有限次跳过和广告。
我们以 librespot 包的形式发布在 crates.io 上。只需运行 cargo install librespot 即可在你的系统上安装 librespot。更多信息及可能的用法选项请查看 wiki。
安装完成后,你可以通过 CLI 运行 librespot,例如使用 librespot -n "Librespot Speaker" -b 160 这样的命令,创建一个名为 Librespot Speaker、提供 160 kbps 音频的扬声器。
由于 plietar 创建的原项目已不再积极维护,我们建立了这个组织和仓库,以便项目在未来能够继续维护和升级。
文档目前仍在编写中,欢迎贡献!
docs 文件夹中有一些关于协议工作原理的简要文档。
COMPILING.md 包含关于搭建开发环境和编译 librespot 的详细说明。更通用的使用和编译信息可在 wiki 上找到。
CONTRIBUTING.md 也包含我们的贡献指南。
如果你想进一步了解 librespot 的整体工作原理,最好的方式就是直接阅读代码,并在我们的 Gitter 房间中提出任何问题。
我们最近开始使用 Github discussions 来处理一般性问题和功能请求,因为这种媒介更适合这类场景,并且支持点赞以确定功能开发的优先级。点此查看。底层库的 bug 和问题仍应作为 issue 报告。
如果你在使用 librespot 时遇到 bug,请在开新 issue 之前先搜索已有 issue。很可能我们已经遇到过,并提供了解决方案。如果没有,请开一个新 issue,并尽可能附上 librespot 崩溃时生成的回溯信息,以及任何能帮助我们复现问题的内容,例如导致崩溃的歌曲的 Spotify URI。
下面简要介绍构建流程,详细的编译指南可在此处找到。
我们最近改用 Rodio 作为默认音频播放后端,因此在 macOS 和 Windows 上,你应该只需克隆并构建 librespot(使用下面的命令)。
在 Linux 上,你需要根据发行版运行下面的额外命令。
在 Debian/Ubuntu 上,以下命令将安装这些依赖:
sudo apt-get install build-essential libasound2-dev
在 Fedora 系统上,以下命令将安装这些依赖:
sudo dnf install alsa-lib-devel make gcc
librespot 目前提供以下音频后端选择:
Rodio(默认) ALSA GStreamer PortAudio PulseAudio JACK JACK over Rodio SDL Pipe Subprocess
有关 TLS、音频和发现后端依赖的详细信息,请查看 COMPILING.md;或查看 wiki 上的 Compiling 条目,了解特定后端的额外依赖。
安装依赖并克隆本仓库后,你可以使用 Cargo 以默认特性构建 librespot。
cargo build --release
默认情况下,构建使用 native-tls(系统 TLS)、rodio 音频后端和 libmdns 发现。有关选择不同 TLS、音频和发现后端的信息,请参阅 COMPILING.md。
librespot 也可通过 Linux、FreeBSD、NetBSD 等各种操作系统上的官方包系统获取。Repology 提供了很好的概览。
我们提供了一个实现无头 Spotify Connect 接收器的示例程序。
构建 librespot 后,使用以下命令运行:
target/release/librespot --name DEVICENAME
以上是最小示例。下面是一个更完整的示例:
target/release/librespot -n "Librespot" -b 320 -c ./cache --enable-volume-normalisation --initial-volume 75 --device-type avr
上述命令将创建一个名为 Librespot 的接收器,比特率设为 320 kbps,初始音量为 75%,启用音量标准化,并在应用中将设备显示为 Audio/Video Receiver。当前目录下将创建/使用一个名为 cache 的文件夹,用于缓存音频数据和凭据。
完整的运行时选项列表可在此处查看。
请注意:使用缓存功能时,你的账户的认证信息(authentication blob)会存储在缓存目录中。出于安全考虑,我们建议将缓存目录的权限设置为 700。
如果你需要帮助或想提供帮助,欢迎来 gitter 上交流: https://gitter.im/librespot-org/spotify-connect-resources
使用此代码连接 Spotify 的 API 很可能被他们禁止。 使用风险自负。
本仓库中的所有内容均按 MIT 许可证授权。
以下是一份非详尽的项目列表,这些项目使用或修改了 librespot。如果你想加入自己的项目,请提交 PR。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。