如何用SpotiFlyer批量下载Spotify歌单、专辑和单曲?从链接粘贴到本地MP3的完整步骤
【免费下载链接】SpotiFlyerKotlin Multiplatform Music Downloader, Supports Spotify / Gaana / Youtube Music / Jio Saavn / SoundCloud.项目地址: https://gitcode.com/gh_mirrors/sp/SpotiFlyer
SpotiFlyer 是一款基于 Kotlin Multiplatform 开发的免费开源音乐下载工具,支持从 Spotify、YouTube Music、Gaana、Jio Saavn、SoundCloud 等平台批量下载歌单、专辑和单曲,并将它们保存为本地 MP3 文件。它开箱即用、无需配置 API Key、无广告,覆盖 Android、桌面(Windows/macOS/Linux)和 Web 端。下面用 4 个步骤带你完成从"粘贴链接"到"得到本地 MP3"的完整流程。
为什么选择 SpotiFlyer 做音乐下载?
和普通播放器不同,SpotiFlyer 专注于"把在线音乐存到本地"这件事:
- 批量下载:贴一个歌单/专辑链接,可一次性下载其中全部歌曲
- 多平台解析:自动识别 Spotify 链接,并通过 YouTube Music / Jio Saavn 等源找到可下载的歌曲
- 免配置:API Key 已内置,装完就能用
- 元数据保留:下载后自动写入 ID3 标签(歌名、歌手、封面),本地音乐库整理更方便
- 多端可用:Android / 桌面 / Web 同一套核心代码(README.md)
项目架构采用多模块设计,各平台能力在 common/providers/ 目录下实现,包括 SpotifyProvider.kt、SaavnProvider、SoundCloudProvider 等,这也是它解析能力稳定的来源。
第一步:获取并安装 SpotiFlyer
根据你使用的设备选择对应版本(详见 README.md 中的安装章节):
| 平台 | 形式 | 说明 |
|---|---|---|
| Android | APK / F-Droid | 稳定版,支持后台下载 |
| Windows | MSI 安装包 / JAR | JAR 需先安装 Java |
| Linux | DEB 包 / JAR | Debian 系直接安装 |
| macOS | JAR | 通过 Java 运行 |
| Web | 浏览器直接用 | 无需安装 |
💡 提示:下载完成后,Android 端首次启动会请求存储权限(用于保存 MP3)和网络权限,按需允许即可。权限用途说明见项目 AndroidManifest.xml。
第二步:粘贴链接并解析歌单
这是整个流程中最关键的一步,操作只有两下:
- 在 Spotify 中打开目标歌单、专辑或单曲,点击分享 → 复制链接(形如
open.spotify.com/...的地址) - 回到 SpotiFlyer 首页,在顶部输入框(提示"粘贴链接")中粘贴链接,点击Search按钮
应用会自动解析链接类型并拉取曲目列表:
- 歌单:显示封面 + 全部歌曲条目
- 专辑:按曲目顺序展示
- 单曲:直接显示一首歌的下载项
解析入口的实现可以在 SpotiFlyerMainUi.kt 的SearchPanel中看到:输入框 + Search 按钮触发链接解析。
第三步:一键批量下载全部歌曲
歌曲列表加载完成后,页面上方会出现Download All(全部下载)按钮:
- 点击后,SpotiFlyer 会按顺序逐首搜索、转换并保存为 MP3
- 列表中每一首歌旁边也有单独按钮,可单曲补下(个别没成功时不必重跑整个歌单)
- 下载进度会实时显示在每首歌曲的状态栏中
"全部下载"的逻辑(onDownloadAllClicked→StartDownloadAll)位于 SpotiFlyerListImpl.kt;Web 端的批量下载按钮实现见 DownloadAllButton.kt。
Android 端的小优势:得益于前台下载服务(ForegroundService.kt),你可以把手机锁屏甚至切走应用,下载任务仍会在后台继续,并自动申请唤醒锁防止断网。
第四步:选择音质,检查本地 MP3
下载前可在设置页选择目标比特率,SpotiFlyer 支持 128 / 160 / 192 / 256 / 320 KBPS 五档,默认为320 KBPS(最高音质)。音质定义见 AudioQuality.kt。
下载完成后:
- Android:MP3 通常保存在内部存储的 SpotiFlyer 相关目录中,用任意本地播放器(或已安装的音乐 App)直接扫描播放
- 桌面 / Web:文件保存到系统默认下载目录(Web 端由浏览器下载管理器接管,见 FileSave.kt)
- 文件自带 ID3 标签与封面图(桌面端写入逻辑见 ID3Tagging.kt),无需手动整理
常见问题与最佳实践 🎯
Q1:为什么有些歌曲搜不到/下载失败?SpotiFlyer 依赖 YouTube Music / Jio Saavn 等源来匹配歌曲,这些服务在你所在地区的可用性会影响结果(README 中专门有 Note 说明)。换个网络环境或稍后重试通常能解决。
Q2:下载速度慢怎么办?建议在网络稳定时进行;Android 端保持屏幕常亮或使用"忽略电池优化",避免后台被系统挂起。
Q3:支持播客/节目(Episode)吗?目前支持歌单、专辑、单曲,播客支持仍在 TODO 列表中,可关注项目更新。
Q4:历史下载记录去哪找?首页的 History 标签页记录了所有已解析过的链接,点击即可快速重新下载(历史记录存于本地数据库,见 SpotiFlyerDatabase.kt)。
总结
SpotiFlyer 的批量下载流程可以浓缩为一句话:粘贴 Spotify 链接 → 点击 Search → 点击 Download All → 得到带标签的本地 MP3。全程无需注册、无需 API Key,且免费无广告。如果你对源码实现感兴趣,各平台解析器在 common/providers/ 下按平台分目录组织,参与翻译和贡献的方式可参考 CONTRIBUTING.md。
⚠️ 版权提醒:请仅下载你拥有版权或已获授权的音乐,并支持正规渠道购买你喜欢的作品。
【免费下载链接】SpotiFlyerKotlin Multiplatform Music Downloader, Supports Spotify / Gaana / Youtube Music / Jio Saavn / SoundCloud.项目地址: https://gitcode.com/gh_mirrors/sp/SpotiFlyer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考