Spotube 中文文档 下载 App

Spotube 下载离线曲目——带元数据标签、并行分块、v5.1 速度升级

Spotube 能下载什么

Spotube 可以把正在播放或在播放列表里的曲目下载到本地,之后离线也能听。下载的曲目:

下载流程

  1. 播放列表或播放页 → 单曲右键/长按 → "下载"
  2. Spotube 调用 AudioAPI 插件拿到音频流 URL
  3. 并行分块下载(v5.1.0 新特性):把音频分成多个块,同时用多个 HTTP 连接下载
  4. 下载完成后,用 metadata_god 写入元数据标签
  5. 封面图从 MetadataSearchAPI 拿到的专辑封面 URL 下载,嵌入到音频文件的 ID3 标签里
  6. 同时从 LyricsAPI 拿歌词,存为同名 .lrc 文件
  7. 在播放列表里把该曲目标记为"已下载"(绿色向下箭头图标)

v5.1.0 下载管理器升级

v5.1.0 重写了下载管理器:

变化效果
并行分块下载多个 HTTP 连接同时下载不同段,速度提升 2~5 倍
单连接流式(替代 chunked streaming)之前是边下边缓冲,v5.1 改为建立一条稳定 HTTP 连接,减少卡顿和超时
多任务队列同时可以排队下载多首(之前只能一首一首),后台不阻塞 UI
进度条优化每个下载任务有独立进度条,总下载数一目了然

离线播放

下载完成的曲目:

下载策略设置

Spotube 设置里可以配置:

版权提示

Spotube 本身不检查音频流的版权状态。用户需要对自己下载的内容负责——Spotube 只是把音频源插件返回的数据原样存到本地,和浏览器缓存视频是同一个性质。在合法下载范围内使用。

下载异常排查

下载后没带封面

某些音源的音频流不自带封面图,Spotube 会从 MetadataSearchAPI 的元数据里拿专辑封面再嵌入。如果元数据插件也没返回封面,就只能是空。建议同时装 Spotify Metadata(封面齐全)。

下载卡住不动

通常是分块下载时某个连接超时。v5.1.0 有自动重试机制(每个块重试 3 次)。仍卡住:

  1. 切到其他音频源再试
  2. 检查网络连接
  3. 重启 Spotube(会恢复未完成的下载队列)

下载后 ID3 标签乱码

metadata_god 包对中文和非 ASCII 字符的处理依赖 UTF-8 编码。如果元数据插件返回的 artist/title 里有乱码,写入标签时也会乱码。解决方法:

  1. 换元数据插件(比如 MusicBrainz 对中文曲目支持更好)
  2. 手动用 MP3tag 或 foobar2000 修正标签