☰
Folia 本地歌单完整指南:建单、排序到 M3U8 导入导出一次讲清
2026/10/18 1:32:06 网站建设 项目流程

Folia 本地歌单完整指南:建单、排序到 M3U8 导入导出一次讲清

【免费下载链接】folia-major专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major

Folia 是一款以绚丽歌词动画著称的本地音乐 / Navidrome / 多平台在线音乐播放器。这篇 Folia 本地歌单指南带你从零走通建单、保存队列、排序、收藏与 M3U8 导入导出的全流程,看完就能上手。

它替你省掉了什么

  • 别的播放器歌单只记路径,音乐文件夹挪个位置整单失效,你得逐首重找;
  • 换设备后歌单对不上号,只能重新点一遍想听的歌;
  • 手动整理顺序费时,重复歌曲还容易塞进歌单两次。

Folia 的本地歌单只存歌曲引用、不搬动磁盘上的音频文件,建单、调序、删单都可逆。

能力速览

能力在哪操作一句话说明
新建歌单本地音乐区选歌后"新建歌单"输入名称即建单
保存队列为歌单队列面板右上角"保存为歌单"当前播放队列原样固化为歌单
收藏歌曲播放区心形按钮写入内置 Liked Songs 收藏歌单
排序 / 移除歌曲歌单卡片 → 编辑模式拖动排序立即持久化,移除即剔除
重命名 / 删除歌单歌单卡片操作系统收藏歌单受保护不可删
导出 M3U8歌单卡片"导出 M3U8"生成 UTF-8 的 .m3u8 自动下载
导入歌单本地音乐首页"导入歌单"读 .m3u / .m3u8,自动匹配本地歌曲

跟着走一遍

第一次建单:从选歌到出歌单

  1. 进入本地音乐区,在歌单卡片里勾选你想收录的歌曲;
  2. 在命令面板执行"用选中卡片的歌曲新建歌单",或直接在选中卡片上触发"新建歌单";
  3. 输入歌单名确认,新卡片就出现在本地音乐区。

添加时所有歌曲 id 都会先过一遍去重逻辑(src/services/localPlaylistService.ts里的dedupeSongIds),同一首歌不可能进歌单两次。

把正在听的队列存成歌单

  1. 在底部播放区打开队列面板;
  2. 把不想要的歌先移走;
  3. 点面板右上角的"保存为歌单",弹窗里给歌单命名并确认。

这个按钮只在队列里全部是本地歌曲时才出现(src/components/panelTab/QueueTab.tsx),因为在线歌曲没有磁盘路径,不属于本地歌单体系。保存后新顺序与当前队列完全一致。

调整顺序、改名、删歌

  1. 点开目标歌单卡片进入集合视图;
  2. 通过卡片操作或命令面板的toggle-edit-mode命令切换编辑模式;
  3. 拖动歌曲调序、删除不想要的歌,改动立即写回本地数据库。

调序走reorderLocalPlaylistSongs,移除走removeSongsFromLocalPlaylist(均在src/services/localPlaylistService.ts),重命名走src/library/app/createLibraryMutationPort.ts。下次打开 Folia,顺序和名字都保持你最后一次操作的状态。

导入 .m3u 歌单

前提一步:先把歌单引用的音乐文件夹导入 Folia,建好曲库索引——导入动作只做路径匹配,不会替你申请新的文件夹权限。

  1. 本地音乐首页点"导入歌单",选择.m3u或.m3u8文件;
  2. Folia 逐条匹配路径后建单,状态栏报出成功导入的歌曲数与被跳过的路径数(未匹配 + 歧义);
  3. 歌单名优先取文件里的#PLAYLIST:行,否则用文件名。

匹配在src/services/localPlaylistFileService.ts的importLocalPlaylistFile里,normalizeM3uPath负责把file://地址、Windows 盘符路径、反斜杠统一成斜杠形式再比较。

导出 M3U8 放到哪能直接播

  1. 打开目标歌单卡片,选择"导出 M3U8"(命令面板同名命令export-playlist也可触发);
  2. 应用自动下载一个以歌单名命名的.m3u8文件,状态栏提示成功。

文件里每首歌带#EXTINF时长行和"艺术家 - 标题"。导出时先收集所有歌曲路径的第一段(导入根目录名):全部来自同一个根目录时,写入相对该根的路径——把.m3u8放进这个根目录即可直接播放;来自多个根目录时保留完整路径,把文件放到它们的共同父目录即可。实现见serializeLocalPlaylistToM3u8。

设计里的取舍

只存 songIds,不存路径。歌单就是一个songIds数组(src/types/appPlayback.ts)。收益是文件夹改名、歌曲被删后,读取时自动剔除失效引用并合并重复导入的同一份文件,脏数据不用手动清。局限是文件改名后引用仍可能对不上,得等下次索引或导入匹配。

导入匹配宁缺勿错。先按完整路径、去根相对路径、文件名做大小写不敏感的精确匹配,没命中再按路径后缀兜底;命中多个候选时直接跳过计入ambiguousPaths。收益是不会把同名文件导成另一首。局限是跳过的歌要你自己补齐文件夹后重新导入,不会自动重试。

收藏歌单前后端双重保护。deleteLocalPlaylist开头就检查isFavorite,系统收藏歌单删不掉;前端canDeleteLocalPlaylist直接把删除入口禁掉。收益是"误删 Liked Songs"这种事故不存在。局限是受保护歌单想"换个名字"也没法做到,只能清空里面的歌。

边界与限制

  • 只解析.m3u/.m3u8文本格式,foobar2000 的二进制.fpl读不了。
  • 导入不会自动拉取音频文件,也不会申请新的文件夹权限。
  • 普通网络 URL(如http://路径)在匹配前就被判为无效,不会误当成本地歌曲。
  • 换设备用导出的 M3U8,前提是文件在、目录结构和相对路径一致,否则要手动改路径。
  • 保存队列为歌单只收本地歌曲,队列里混了在线歌时按钮不出现。

Folia 本地歌单围绕"存引用、可排序、M3U8 互通"做成闭环。想深入.foliaignore排除规则与批量匹配,看仓库里的 docs/local-library-management.md。

【免费下载链接】folia-major专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询