v5.1.0 Audio-Source 插件——音频源也开放了
v5.1.0 的关键变化
v5.0.0(2025-09)把元数据插件化了,但音频源还是硬编码的 YouTube/Piped/Invidious。v5.1.0(2025-11)补上了这个缺口——AudioAPI 也变成了完全开放的插件接口。
现在 Spotube 的四大接口全部插件化:MetadataSearchAPI、AudioAPI、LyricsAPI、ScrobbleAPI。理论上社区可以写任何音乐服务的连接器,Spotube 本体不需要改动一行代码。
能做什么
Audio-Source 插件可以实现:
| 能力 | 说明 | 已有插件示例 |
|---|---|---|
| HTTP 流式音频 | 任何 CDN 上的 MP3 / AAC / FLAC / WAV 资源 | Dab Radio、自定义 HTTP 源 |
| 平台 API 音频流 | 商业音乐平台返回的加密/非加密流 | Qobuz、Spotify(需 Premium) |
| 广播电台 | 实时 HTTP icecast/shoutcast 流 | Dab、Radio Paradise |
| 本地音频 | 扫描本地磁盘上的音乐文件 | Local Files(社区插件) |
| 视频平台非 YouTube | 比如 Bilibili、Niconico 的音频流提取 | 社区插件(实验性) |
与元数据插件的组合玩法
Audio-Source 开放后,你可以把完全不同来源的元数据和音频拼在一起:
- Spotify Metadata + Qobuz Audio:Spotify 的曲库 + Qobuz 的无损音频
- MusicBrainz Metadata + Local Audio:开源元数据 + 你自己的本地音乐
- JioSaavn Metadata + Dab Audio:印度曲目元数据 + 全球广播电台混音
- Spotube 聚合 Metadata + 任意 Audio:先从聚合入口搜,再手动切源
Dab Radio
v5.1.0 官方内置了 Dab 插件实现 AudioAPI——DAB(Digital Audio Broadcasting)是欧洲的数字广播标准。Dab 插件把全球数千个 DAB+ 电台、传统 FM 电台、以及 SomaFM、Radio Paradise 等流媒体电台整合进 Spotube。
在 Spotube 里装 Dab 插件后,可以:
- 按国家/地区浏览电台
- 保存电台作为收藏
- 队列里混入电台直播和本地下载的曲目
FLAC 无损播放
v5.1.0 另一重大更新:非压缩 FLAC 播放。之前 Spotube 强制把所有音频重采样到固定码率,FLAC 也会被降级。v5.1 起:
- AudioAPI 插件可以声明自己支持的编解码(
codec: flac / mp3 / aac / opus / wav) - Spotube 检测到插件返回 FLAC 流后,直接交给 MPV / media_kit 原样解码
- 24-bit / 96kHz 的高采样率 FLAC 可以原生播放,不做任何降级
这对 Qobuz 订阅用户意义最大——终于能在 Spotube 里享受到无损播放的完整体验。
v5.1.0 其他 Audio-Source 相关改动
- NewPipe 桌面端支持:之前 NewPipeExtractor 只在 Android 上可用,v5.1 移植到了桌面端(Linux / macOS / Windows)
- 单连接流式传输:之前是分块(chunked)缓冲,v5.1 改为单连接流式,减少网络开销和卡顿
- 并行分块下载:下载管理器升级了,多线程并行下载带元数据的曲目,速度更快
- 插件过滤:插件管理页面可以按能力标签过滤(只看 metadata / 只看 audio / 同时支持两者)
想自己写 Audio-Source 插件?
详见 插件开发总览。AudioAPI 的接口签名和实现示例在 Spotube 仓库 js_plugin_example/ 目录下。