1. 快速开始
打开播放器后,如果没有本地 playlist.js 或上次保存的歌单 ID,页面会直接进入空列表状态。你可以从三个入口开始:
- 设置里粘贴网易歌单链接或歌单 ID,点击“加载”。
- 右侧面板切到“搜索添加”,搜索歌曲并加到当前播放。
- 拖拽或选择
playlist.js/.json导入本地歌单。
2. 界面结构
桌面端
右侧浮动面板包含三个并列标签:当前播放、搜索添加、云歌单。云歌单不再是单独侧边栏。
手机端
底部抽屉同样有当前播放、搜索添加、云歌单三个标签。点底部列表按钮打开,向下拖动关闭。
3. 播放列表来源
CPlayer 会区分“当前播放”来自哪里,这会影响保存时如何绑定 ID。
| 来源 | 怎么来的 | 保存当前时 |
|---|---|---|
| 网易歌单 | 设置里输入歌单 ID 或链接加载 | 保存成 source=netease 的本地草稿,记录原始歌单 ID |
| 缓存歌单 | IndexedDB 先读缓存,后台更新 | 仍按网易歌单来源保存,ID 不变 |
| 导入文件 | playlist.js 或 JSON | 保存为自定义本地歌单 |
| 搜索临时列表 | 搜索添加歌曲堆出来的列表 | 保存为自定义本地歌单 |
| 云歌单 | 从云歌单标签里加载 | 保存当前会更新同一个云歌单 ID |
4. 云歌单核心概念
云歌单其实分两层:浏览器本地 mirror 和服务器云端。你看到的云歌单列表会同时显示本地草稿和云端歌单。
本地草稿
存在浏览器 LocalStorage 里,有固定 UUID。没登录也能保存。状态通常是 LOCAL 或 DIRTY。
云端歌单
存在同步后端账号下,有同一个 UUID。登录后可以跨设备刷新和加载。状态是 CLOUD。
现在列表里显示的是稳定 ID,不再显示 v1、v2 这种版本号。版本号只是冲突处理用的内部字段,不应该干扰日常使用。
5. 四个云按钮分别干什么
| 按钮 | 作用 | 什么时候用 |
|---|---|---|
| 新建 | 创建一个空歌单。未登录时是本地歌单,登录时会创建云歌单。 | 你想从零维护一个收藏歌单。 |
| 保存当前 | 把当前播放列表保存成一个本地可追踪歌单;如果当前已经是某个云歌单,则更新同一个云歌单。 | 你刚加载/搜索/调整完一批歌曲,想先落盘,不想每次都新建云端。 |
| 上传本地 | 把本地草稿按它自己的 ID 上传到云端;如果云端已有同 ID,就更新它,不再创建另一个。 | 你确认本地歌单内容没问题,想同步到账号。 |
| 刷新 | 从同步后端重新拉取云歌单列表,同时保留本地草稿。 | 你在别的设备改过歌单,或者刚登录后想同步列表。 |
6. ID 和状态怎么看
每个云歌单行都会显示 ID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx。这个 ID 是歌单的绝对身份:
- 保存当前后,本地会出现一个固定 ID。
- 上传本地时,后端使用同一个 ID。
- 以后再保存或上传,都会尽量更新这个 ID 对应的歌单。
状态含义:
LOCAL 只在本地。 DIRTY 本地有改动待上传。 CLOUD 已在云端。 CONFLICT 云端和本地版本冲突,需要选择使用哪边。
7. 搜索添加和当前播放
搜索添加会把歌曲插到当前播放队列里,并更新计数。若当前播放的是云歌单或本地同步歌单,新增歌曲会尝试写回对应歌单;失败时当前播放仍保留这首歌,但会提示同步失败。
搜索框也支持直接输入歌曲 ID,用于快速解析单曲。
8. 手机端怎么操作
- 底部列表按钮打开抽屉。
- 顶部三个标签切换:当前播放、搜索添加、云歌单。
- 云歌单里的保存、上传、刷新和桌面端语义一致。
- 主界面左右滑动可以切换封面和歌词。
9. 常见问题
为什么我点保存当前,以前会多出很多歌单?
旧逻辑登录后直接创建云端歌单,所以每点一次就是一个新歌单。现在保存当前会优先更新已有 ID;没有 ID 时先建本地草稿。
我应该先保存当前还是先上传本地?
一般先保存当前,再上传本地。上传本地找不到草稿时也会先帮你保存一次。
云歌单里的 ID 能不能复制?
当前主要用于识别和排查。如果你需要迁移或调试,同一个 ID 就代表同一个 CPlayer 歌单。
刷新会不会删掉我的本地草稿?
不会。刷新会拉云端列表,同时保留 LOCAL 和 DIRTY 本地条目。