跳转到内容

音乐播放器

ShokaX 内置了 nyx-player 嵌入式音乐播放器,支持网易云音乐和 QQ 音乐歌单。

src/theme.config.ts 中配置播放器:

src/theme.config.ts
export default defineConfig({
nyxPlayer: {
enable: true,
urls: [
{
name: "我的歌单",
url: "https://music.163.com/#/playlist?id=2943811283",
},
],
},
});

配置完成后,页面底部会出现一个迷你音乐播放器。

urls 数组支持添加多个歌单,播放器顶部会出现歌单切换标签:

src/theme.config.ts
export default defineConfig({
nyxPlayer: {
enable: true,
urls: [
{
name: "工作时听",
url: "https://music.163.com/#/playlist?id=123456789",
},
{
name: "休息时听",
url: "https://music.163.com/#/playlist?id=987654321",
},
],
},
});

preset 控制播放器的视觉风格:

说明
"shokax"(默认)ShokaX 原生风格,与博客主题配色协调
"nyx"nyx-player 默认主题
src/theme.config.ts
export default defineConfig({
nyxPlayer: {
enable: true,
preset: "nyx",
urls: [
{
name: "歌单",
url: "https://music.163.com/#/playlist?id=2943811283",
},
],
},
});

播放器会自动跟随网站主题切换配色。你可以指定暗黑模式的选择器:

src/theme.config.ts
export default defineConfig({
nyxPlayer: {
enable: true,
darkModeTarget: ':root[data-theme="dark"]',
urls: [],
},
});

默认值就是 :root[data-theme="dark"],一般不需要修改。

如果不想使用播放器,设置 enable: false 或完全不配置 nyxPlayer

src/theme.config.ts
export default defineConfig({
nyxPlayer: {
enable: false,
},
});
字段类型默认值说明
nyxPlayer.enablebooleanfalse是否启用播放器
nyxPlayer.urlsArray<{name, url}>[]歌单列表
nyxPlayer.urls[].namestring歌单显示名称
nyxPlayer.urls[].urlstring歌单链接(网易云/QQ音乐)
nyxPlayer.preset"nyx" ` ”shokax”`"shokax"
nyxPlayer.darkModeTargetstring':root[data-theme="dark"]'暗色模式选择器
src/theme.config.ts
export default defineConfig({
siteName: "我的博客",
nyxPlayer: {
enable: true,
preset: "shokax",
darkModeTarget: ':root[data-theme="dark"]',
urls: [
{
name: "默认歌单",
url: "https://music.163.com/#/playlist?id=2943811283",
},
],
},
});

网易云音乐的 API 可能偶尔不稳定,或某些歌单有版权限制。建议测试你的歌单链接是否能正常播放。

目前不支持本地文件播放。nyx-player 依赖网易云/QQ音乐的在线 API。

播放器默认固定在页面底部。如需调整位置,可以修改播放器的 CSS 样式或注入位置。

津 ICP 备2022001375 号
津公网安备 12011402001353 号