返回资讯中心
外部精选
软件工程
#开发者实时流

librespot 项目重启维护:开源 Spotify 客户端库更换维护组织

来源标题:Open Source Spotify client library

原由 plietar 创建的 librespot 因缺乏维护,现已迁移至新组织与仓库继续维护。它是一个开源 Spotify 客户端库,可作为已弃用的闭源 libspotify 替代品,支持 Spotify Connect 接收器与多种播放后端,但仅支持 Spotify Premium 账户。项目已发布在 crates.io,可通过 cargo install librespot 安装使用。

Hacker News 最新LelouBil2026/11/6 · 今天13 分钟阅读

以下正文由 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 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →