博客音乐播放器配置与使用指南
这篇文章专门写给博客维护者,解决一个很实际的问题:网页里的音乐到底在哪里改,以及改歌单、换本地音乐、加歌词、关闭播放器时分别应该动什么地方。
在 Twilight 里,音乐功能主要分成两类:
- 全站悬浮音乐播放器
- 文章正文里的单独音乐卡片
这两类功能都已经内置好了,区别只是配置入口不同。
一、全站音乐播放器在哪修改
全站播放器的配置入口在项目根目录的 twilight.config.yaml 里,字段名是 musicPlayer。
常用配置长这样:
1musicPlayer:2 enable: true3 mode: "meting"4 meting:5 meting_api: "https://meting.spr-aachen.com/api"6 server: "netease"7 type: "playlist"8 id: "2842480424"9 local:10 playlist:11 - id: 112 title: "深海之息"13 artist: "Youzee Music"14 cover: "https://p1.music.126.net/PhKOqFtljgHDDpKYM2ADUA==/109951169858309716.jpg"15 url: "assets/music/深海之息.m4a"16 lrc: "assets/music/深海之息.lrc"17 duration: 14618 autoplay: false你平时最常改的就是下面几个字段:
enable:是否启用播放器mode:使用在线歌单还是本地音乐meting.server:音乐平台meting.type:资源类型meting.id:具体歌单、单曲或专辑的 IDautoplay:是否尝试自动播放
二、怎么关闭网页音乐
如果你暂时不想让博客显示音乐播放器,最直接的方法就是把:
1musicPlayer:2 enable: false改成这样以后,全站播放器就不会显示了,其他页面和文章不会受影响。
三、怎么改成在线歌单模式
如果你想直接用网易云、QQ 音乐之类的平台歌单,保持 mode: "meting" 即可。
例如:
1musicPlayer:2 enable: true3 mode: "meting"4 meting:5 meting_api: "https://meting.spr-aachen.com/api"6 server: "netease"7 type: "playlist"8 id: "2842480424"9 autoplay: false这些字段的含义是:
meting_api:Meting 接口地址server:平台来源,比如netease、tencenttype:你要加载的是playlist、song、album还是别的资源id:对应平台上的资源 ID
如果你只是想换歌单,通常只需要改 id;如果你想切成单曲,就把 type 改成 song,再把 id 换成对应歌曲的 ID。
四、怎么改成本地音乐模式
如果你想完全自己管理音乐文件,就把模式切换成 local:
1musicPlayer:2 enable: true3 mode: "local"4 local:5 playlist:6 - id: 17 title: "深海之息"8 artist: "Youzee Music"9 cover: "https://p1.music.126.net/PhKOqFtljgHDDpKYM2ADUA==/109951169858309716.jpg"10 url: "assets/music/深海之息.m4a"11 lrc: "assets/music/深海之息.lrc"12 duration: 14613 autoplay: false这里的每一首歌都要手动写配置。最关键的字段有:
title:歌曲名artist:歌手名cover:封面图url:音频文件路径lrc:歌词文件路径duration:歌曲时长,单位是秒
五、本地音乐和歌词文件放哪里
本地音乐资源建议统一放在 public/assets/music/ 目录下。
例如:
public/assets/music/深海之息.m4apublic/assets/music/深海之息.lrc
然后在配置里这样引用:
1url: "assets/music/深海之息.m4a"2lrc: "assets/music/深海之息.lrc"这里不需要手动写成完整网址。站点内部会自动把这种路径解析成可访问的静态资源地址。
如果歌词不显示,优先检查三件事:
- 文件路径是不是写对了
.lrc文件是不是 UTF-8 编码- 歌词时间轴格式是不是标准 LRC
六、怎么在文章正文里插入单独的音乐卡片
除了全站播放器,Twilight 还支持在 Markdown 正文里插入音乐卡片。
1. 在线歌曲卡片
1::music{meting="https://meting.spr-aachen.com/api?server=netease&type=song&id=1390882521"}这适合文章里临时插一首在线歌曲,不影响全站播放器配置。
2. 本地音乐卡片
1::music{title="深海之息" artist="Youzee Music" cover="https://p1.music.126.net/PhKOqFtljgHDDpKYM2ADUA==/109951169858309716.jpg" audio="assets/music/深海之息.m4a" lrc="assets/music/深海之息.lrc"}如果你只是想在某篇文章里单独展示一首歌,这种写法最方便。
七、自动播放要注意什么
配置里虽然有:
1autoplay: true但现代浏览器通常会限制带声音的自动播放。所以即使你打开了自动播放,也可能需要用户先点一下页面,音乐才会真正开始播。
因此更稳的建议是:
- 默认保持
autoplay: false - 把播放器留给读者自己决定是否播放
这样兼容性更好,也不会因为浏览器策略导致你误以为配置失效。
八、最常见的修改场景
最后把最常见的操作整理成一句话版本:
- 想关闭网页音乐:改
musicPlayer.enable - 想换在线歌单:改
musicPlayer.meting.id - 想换单曲或专辑:改
musicPlayer.meting.type和id - 想用自己的音频文件:把
mode改成local - 想加歌词:在
public/assets/music/放.lrc文件,并配置lrc - 想只在文章里放一首歌:用
::music{...}
九、结论
Twilight 的音乐功能并不复杂,关键是先分清楚你在改的是哪一层:
- 全站播放器,就去改
twilight.config.yaml里的musicPlayer - 文章内单首音乐,就去文章正文里写
::music卡片 - 本地资源统一放在
public/assets/music/
把这三层关系理清之后,后续无论是换歌单、换成本地音乐,还是给文章单独插一首歌,都会简单很多。
部分信息可能已经过时