跳到正文
返回博客列表

音乐分享功能演示

更新于 2026-07-22 演示音乐

有些文章适合安静读,有些则适合配上一首歌。本站的 /Music 指令就是为后者准备的:在正文里单独写一行网易云链接,构建时会解析出歌曲 id,阅读页侧栏挂上可交互播放器,指令位置则变成一张只读的引用卡片。

下面这一行在渲染后应当从正文中消失,并驱动侧栏播放与文内引用卡:

为什么要在文章里嵌音乐

技术博客多数时候在讲方案、贴代码、记踩坑。偶尔也会想写一点更「场景化」的内容——比如某次深夜改 bug 时循环的歌,或某段旅行路上反复听的副歌。把音乐嵌进文章,不是为了做成流媒体站,而是让阅读节奏情绪背景能对齐。

约定很简单:

  1. 指令必须单独成行
  2. 支持完整链接或纯数字 id,中英文冒号均可;
  3. 同一篇文章里若出现多条,以第一条作为侧栏自动播放曲目;
  4. 正文位置只展示封面、歌名、歌手,不可交互,避免和侧栏播放器抢控制权。

构建与缓存在做什么

访客打开文章时,不应再依赖临时播放直链。当前流程是:

  • 构建期:扫描所有文章的 /Music,拉取元数据与歌词,下载音频到 static/media/music/{id}.mp3,封面本地化到同目录,并写入 music-cache.json
  • 运行期:播放器与引用卡优先读本地文件;本地齐全时构建会跳过 API,省额度、也更稳;
  • 降级:若某次构建没能下到音频,前端仍可回退实时接口,但不影响正文阅读。

对作者来说,日常只需要改 Markdown 和推送;对读者来说,听感是「站点自己的静态资源」,而不是一串随时过期的外链。

阅读时的交互预期

侧栏播放器(大屏可见)应具备:

  • 封面、歌名、歌手;
  • 播放 / 暂停;
  • 进度条拖动与键盘微调;
  • 音量滑条与静音(音量会记在浏览器本地);
  • 实时歌词(有译文则当前行附带)。

文内引用卡则刻意克制:左侧竖线、小字「引用」、封面与曲名信息,点不动、也不抢焦点。浏览器若拦截自动播放,侧栏会提示需要一次点击——这是平台策略,不是站点故障。

写作时可以这样用

适合用 /Music 的场景包括:

  • 听感笔记:写完一首歌的结构或编曲细节,顺手挂上原曲;
  • 场景日记:某一天的天气、通勤、心情,用一首歌收束;
  • 专题连载:同一主题下多篇文章共用不同曲目,形成「配乐年表」。

不适合的情况也要心里有数:版权敏感的长文、需要精确对照多轨的教程、或读者明确需要安静阅读的文档,就不必强行加音乐。功能是可选的,不是每篇的标配。

自检清单

改完这篇或新写一篇后,可以快速自检:

  1. 指令行是否在预览中消失,并出现引用卡;
  2. 侧栏是否加载到正确曲目(本篇应为 id 988223);
  3. 音频地址是否为 /media/music/988223.mp3 一类本地路径(缓存命中时);
  4. 移动端布局是否仍可读(侧栏可能隐藏,引用卡仍应在正文中);
  5. 构建日志是否对已缓存曲目打印「跳过 API」。

收束

音乐是背景,文字才是主线。/Music 只做一件事:让作者用最小语法,把「此刻想让你听到的那一首」放进文章结构里。

若侧栏已响起,不妨顺着歌词往下读完本页;若浏览器要求手势,点一下播放即可。之后你就可以在自己的文章里,用同一行指令挂上属于那篇文章的声音。

© 2026 阁楼屋's Blog