Xjmusic:它具体解决了哪些需求和痛点
简介
Xjmusic 是一个面向个人使用的本地音乐 / 歌单管理工具,开源地址为:Xjmusic(Gitee)。
这个项目的出发点不是“再做一个播放器”,而是解决自己在日常听歌中遇到的一些真实痛点。
1. 分散在各处的音乐资源,难以统一管理
痛点:
- 歌有的在本地,有的来自不同平台(如短视频 App、流媒体),经常“想听某首歌,却忘了它在哪个 App 里”。
- 收藏方式混乱:链接、分享代码、截图、备注,各种形式都有,很难统一整理。
Xjmusic 的解决方式:
- 以“本地音乐 + 歌单管理”为中心,把最终要听的歌统一沉淀到一个地方。
- 通过内部的管理逻辑(如
PlaylistManager等),用歌单/分类的形式把零散资源统一起来。
2. 本地播放器体验割裂、功能不统一
痛点:
- 不同平台、不同 App 的播放体验差异大:有的广告多,有的操作步骤长,有的对快捷键或桌面控制支持不好。
- 想要一个“固定的、顺手的”播放体验,而不是被各大平台的 UI 和交互绑着走。
Xjmusic 的解决方式:
- 自己控制播放核心(
AudioPlayerManager等),在界面和交互上只做真正需要的功能。 - 以简洁为主:专注播放、暂停、切歌、播放顺序、音量、歌单管理这些刚需操作。
- 自己控制播放核心(
3. 从短视频 / 外部链接“捞歌”太麻烦
痛点:
- 在短视频 App 或别的地方听到一首歌,想保存下来,但通常要:复制链接 → 打开音乐 App → 搜索 → 收藏,一整套动作很繁琐。
- 有时只是随手复制了一个分享链接/口令,后来完全想不起来是哪个歌、放在哪了。
Xjmusic 的解决方式:
- 通过类似
ClipboardManager、DouyinService这类组件,把“复制外部内容 → 导入/整理歌曲”流程尽量自动化或半自动化。 - 目标是:复制一下分享内容,就有机会在 Xjmusic 里快速找到对应歌曲并保存到自己的歌单。
- 通过类似
4. 听歌状态与系统/桌面整合不够好
痛点:
- 系统层面的“正在播放”信息、桌面展示或者锁屏状态下的显示,各个播放器的实现不一致。
- 想要一个统一的、“这是我现在在听什么”的状态展示。
Xjmusic 的解决方式:
- 利用
LiveActivityManager等机制,把当前播放状态暴露给系统和桌面,让正在播放的音乐信息可以在系统层面更好地呈现(例如状态栏、桌面组件等)。 - 让“看到当前在播什么歌”不再依赖于打开某个特定 App 页面。
- 利用
5. 本地音乐 + 跨设备/多环境使用的灵活性
痛点:
- 有些播放器偏向单一平台,或者跟账号/云服务绑定太深,不利于自己在不同设备上按自己习惯管理音乐。
- 想要一个可以随时调整、迁移、改造的“自己的音乐工具”,而不是被商业服务的限制牵着走。
Xjmusic 的解决方式:
- 通过开源代码(Swift + 本地工程),完全掌控数据与逻辑,可以根据自己的需要修改、扩展或迁移。
- 不依赖强绑定的云账号,主要围绕本地音乐与可控的导入方式。
项目开源地址
本记录只聚焦于:Xjmusic 作为一个个人向开源项目,试图解决哪些具体的使用需求与痛点,不展开技术细节和实现方案,方便在博客中直接引用或稍作排版使用。