首页/新闻资讯/正文详情

SpotiFlyer:用 Kotlin 写的跨平台音乐下载器

发布时间:2026/9/26 9:09:55 来源:云帆数科 栏目:资讯中心
SpotiFlyer:用 Kotlin 写的跨平台音乐下载器
文章目录SpotiFlyer用 Kotlin 写的跨平台音乐下载器1、它解决什么问题2、跨平台是怎么实现的3、支持哪些平台4、安装方式5、项目现状6、技术细节7、适用场景8、总结SpotiFlyer用 Kotlin 写的跨平台音乐下载器SpotiFlyer 在 GitHub 上拿到了 11.1K Star。这是一个用 Kotlin 写的音乐下载工具支持 Spotify、YouTube、Gaana、JioSaavn、SoundCloud 五个平台。能下载单曲、专辑和播放列表覆盖 Android、桌面端和 Web 端。1、它解决什么问题日常听歌的痛点之一你在 Spotify 收藏了一堆歌换个环境想离线听发现要么开会员要么根本没这个选项。SpotiFlyer 干的事就是把这个过程简化了。复制一个链接粘进去下载完成。不需要注册账号不需要去申请 API Key不需要折腾配置文件。装好就能用。2、跨平台是怎么实现的SpotiFlyer 基于 Kotlin Multiplatform 构建。同一套核心代码跑在不同平台上Android 端用 Jetpack Compose 做 UI桌面端用 Compose for DesktopWeb 端用 Kotlin/JS 配合 React Wrapper。iOS 端也在开发中用 SwiftUI 实现。这种架构的好处是业务逻辑只写一遍各平台只负责各自的界面层。修一个 bug三个平台同时生效。3、支持哪些平台五个音乐来源SpotifyYouTubeYouTube MusicGaanaJioSaavnSoundCloud把歌曲链接粘贴进去工具会自动识别来源解析内容然后提供下载。不需要手动选择平台。4、安装方式Android 用户直接下载 APK 安装包也可以从 F-Droid 获取。桌面端支持 Windows、macOS 和 Linux。Windows 有 MSI 安装包和 JAR 包两种选择macOS 和 Linux 提供 JAR 包。运行 JAR 包需要系统已安装 Java 环境。Web 端目前处于 Beta 阶段可以直接在浏览器里使用。所有平台的安装包都在 GitHub Releases 页面统一发布版本号一致当前稳定版是 3.6.3。5、项目现状需要说明的一点SpotiFlyer 已经停止更新了。开发者转向了一个新项目叫 Soundbound。Soundbound 延续了 SpotiFlyer 的核心理念但架构和功能都有升级。Soundbound 支持通过插件扩展用户可以自行安装需要的插件按需加载。对于还在用 SpotiFlyer 的用户现有版本依然可以正常使用。但如果想要持续的功能更新和维护建议迁移到 Soundbound。6、技术细节SpotiFlyer 的一些设计选择值得关注。首先是无广告。整个应用没有任何广告位不管是启动页、列表页还是下载页都没有广告插入。其次是省流量。它的核心逻辑是把歌曲下载到本地而不是每次都在线播放。对于流量有限或者网络不稳定的用户这个设计很实用。权限方面应用申请的权限都有明确用途网络权限用于访问在线服务存储权限用于保存下载的文件查询已安装应用的权限用于判断用户是否安装了 Spotify 等客户端。电池优化豁免是为了后台下载不被系统杀掉。数据采集方面应用内置的 Analytics 和 Crashlytics 默认关闭属于用户主动选择开启的类型而且是自托管方案数据不经过第三方。7、适用场景想把 Spotify 或 YouTube 播放列表批量下载到本地的人经常在没有网络的环境下听歌的人不想为了离线播放而订阅音乐平台会员的用户对跨平台工具有需求希望在手机和电脑上都用同一套方案的人8、总结SpotiFlyer 作为一个 Kotlin Multiplatform 项目在技术实现上有参考价值。它证明了用 Kotlin 写一套代码同时覆盖 Android、桌面和 Web 是可行的而且用户体验没有打折扣。虽然项目本身已经停止维护但它的继任者 Soundbound 在继续推进。从 SpotiFlyer 到 Soundbound技术路线和产品思路是一脉相承的。对于开发者来说这个项目的代码库值得看看尤其是 Kotlin Multiplatform 的实践部分。对于普通用户直接用 Soundbound 是更好的选择。对于开发者来说这个项目的代码库值得看看尤其是 Kotlin Multiplatform 的实践部分。对于普通用户直接用 Soundbound 是更好的选择。

相关推荐

2026 宁波海曙区修锁全攻略:锁坏了先别着急换,这些情况修修就能用
2026 宁波海曙区修锁全攻略:锁坏了先别着急换,这些情况修修就能用

海曙区老小区占比高,不少住户的门锁使用年限久,经常出现锁芯卡顿、把手松动、锁体故障等问题,很多用户分不清该修还是该换,也不知道找谁修更靠谱,容易花冤枉钱。本文将从常见可修复的锁具故障、修锁的正规渠道、收费参… · 2026/9/18 19:16:43

如何快速提取碧蓝航线中的精美Live2D模型?这个免费工具帮你一键搞定!
如何快速提取碧蓝航线中的精美Live2D模型?这个免费工具帮你一键搞定!

如何快速提取碧蓝航线中的精美Live2D模型?这个免费工具帮你一键搞定! 【免费下载链接】AzurLaneLive2DExtract OBSOLETE - see readme / 碧蓝航线Live2D提取 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneLive2DExtract 想获取碧蓝航线中… · 2026/9/21 7:04:17

盘活Snow Peak,利润承压的比音勒芬有几成把握?
盘活Snow Peak,利润承压的比音勒芬有几成把握?

2023年底,上海前滩太古里一家Snow Peak门店开业,中国合资公司雪诺必克立马发了个打脸声明,称该Snow Peak店未获得官方授权、涉嫌山寨。 这家争议门店的背后站着的是“衣中茅台”比音勒芬。 镜头一转到2026年6月,广州番禺比音勒芬… · 2026/9/11 8:51:46

功能安全咨询公司如何用AI Agent实现知识产品化落地
功能安全咨询公司如何用AI Agent实现知识产品化落地

1. 功能安全咨询行业为什么开始卖AI Agent 功能安全咨询这个行当,过去十几年一直是典型的“人力密集、知识密集、交付周期长”的生意。一家做ISO 26262、IEC 61508合规咨询的公司,核心资产就是那几位懂HARA、懂FMEA、懂安全案例(Safety Case&… · 2026/9/26 9:09:52

Claude Skills全攻略:用SKILL.md给AI代理装上“超能力”,让大模型为你打工
Claude Skills全攻略:用SKILL.md给AI代理装上“超能力”,让大模型为你打工

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 9:09:46

数字孪生智慧仓储项目实战:Antigravity + Blender MCP 从建模到数据驱动
数字孪生智慧仓储项目实战:Antigravity + Blender MCP 从建模到数据驱动

折腾了半个多月,我终于把 Antigravity 和 Blender MCP 这套组合用在了一个 3D 智慧仓储数字孪生项目上。场景不复杂,逻辑也不神秘,但整个过程的思路非常值得沉淀:怎么用自然语言指挥 AI 在 Blender 里批量建模型,怎么让… · 2026/9/26 9:09:39

Agent时代CLI设计指南:从工具到智能体执行入口
Agent时代CLI设计指南:从工具到智能体执行入口

1. 从"CLI-Anything"说起:命令行工具正在经历一场静默革命第一次看到"CLI-Anything"这个说法,我脑子里蹦出来的不是某个具体工具,而是一种趋势判断——命令行界面正在从"运维专属"变成"人人都能用的自动化… · 2026/9/26 9:09:39

用 Elasticsearch 和 GitHub Copilot SDK 构建 RAG agent:TaoToken 统一 Key 配置实战
用 Elasticsearch 和 GitHub Copilot SDK 构建 RAG agent:TaoToken 统一 Key 配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 9:09:39

基于Simulink的风光储互补微电网建模与仿真分析全流程解析
基于Simulink的风光储互补微电网建模与仿真分析全流程解析

做风光储微电网仿真,最难的不是把模型搭起来,而是让模型在离网、并网、模式切换时都表现得像真实系统。很多刚接触Simulink的人,第一步就卡在“风光储三种电源怎么接到一条母线上”“MPPT和储能协调到底谁优先”。这篇博文我就把基于Simulink… · 2026/9/26 9:09:33

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码