go-librespot:开源 Spotify Connect 兼容客户端(Go 语言编写)
GitHub 相关信息:
获取开始:
- 使用预构建二进制文件:可下载最新版本的预构建二进制文件,也有GitHub Actions 工件形式的开发预构建二进制文件
- 使用 Docker:GitHub 容器注册表有轻量级 Docker 镜像,这里有 PulseAudio 的示例 Docker Compose 配置
- 从源代码构建:需 Go 1.22 或更高版本,以及
libogg
、libvorbis
、libasound2
库。从 Go 官网下载 Go,Debian 系统安装库使用sudo apt-get install libogg-dev libvorbis-dev libasound2-dev
。克隆仓库后运行go run./cmd/daemon
,这里有交叉编译的详细信息
配置:
- Zeroconf 模式:默认模式,使用 mDNS 自动发现,允许同一网络内的 Spotify 客户端连接。示例配置可设置是否始终可发现、使用的端口等,
persist_credentials
为true
时可存储本地凭证,zeroconf_interfaces_to_advertise
可限制广告的接口 - 交互模式:可关联账户使设备在网络外也可被发现,需手动完成认证,包括配置交互模式、启动守护进程开始认证流程、在浏览器中打开授权链接等待重定向等
- API 服务器:可通过配置启用 API 服务器来控制和监控播放器,包括设置绑定地址、端口、允许的源、证书和密钥文件等,这里有详细 API 文档
- 音量同步:有多种音量控制配置,如无外部音量无混音、无外部音量有混音等
- 其他配置:还有日志级别、设备 ID、名称、类型、音频后端、设备、混音器设备、音频缓冲区时间等选项,这里有完整选项列表
- Zeroconf 模式:默认模式,使用 mDNS 自动发现,允许同一网络内的 Spotify 客户端连接。示例配置可设置是否始终可发现、使用的端口等,
- 开发:通过Buf管理 Protobuf 定义,执行
buf generate
或go generate./...
进行重新编译
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。