[NMP v2] NeteaseMiniPlayer v2 搭建个人网站网易云迷你播放器

简介: NeteaseMiniPlayer v2 [NMP v2]是一款高颜值、无依赖的前端嵌入式网易云音乐迷你播放器,,轻松部署于个人网站,提升音网站体验。

[NMP v2] NeteaseMiniPlayer v2 搭建高颜值网易云迷你播放器(附部署指南)

注意:Netease Mini Player v1 版本过旧已弃用,不再提供维护,已归档
在线演示:https://nmp.hypcvgm.top/
使用文档:https://docs.nmp.hypcvgm.top/


NMPV2.png

最近使用网易云官方的嵌入式播放器,有很多功能无法实现,比如无法调节音量,无法播放歌单内容,后来我自己写了一个轻量、美观、无依赖个人网站的网易云音乐播放器组件,这个组件基于开源项目 NeteaseCloudMusicApi 二次开发的迷你播放器,支持浮动/嵌入双模式、歌词同步、主题切换、响应式布局。

建议详细阅读 [NMP v2] NeteaseMiniPlayer v2 使用文档


一、快速上手:3 步引入播放器

NeteaseMiniPlayer v2 是一个纯原生 JavaScript 组件,无需 Vue/React,也不依赖 jQuery,直接通过 HTML 属性配置,真正做到“即插即用”。

1. 引入 CSS 和 JS 文件

你可以选择本地引入,也可以直接使用 CDN:

<!-- CDN 引入(推荐) -->
<link rel="stylesheet" href="https://api.hypcvgm.top/NeteaseMiniPlayer/netease-mini-player-v2.css">
<script src="https://api.hypcvgm.top/NeteaseMiniPlayer/netease-mini-player-v2.js"></script>

⚠️ 注意:当前 CDN 依赖第三方 NeteaseCloudMusicApi 的 API 源,该服务可能不稳定。生产环境强烈建议自建 API(下文会详细讲)。

2. 创建播放器容器

只需一个 div,通过 data-* 属性配置行为:

<!-- 浮动播放器(固定在右下角) -->
<div class="netease-mini-player"
     data-playlist-id="14273792576"
     data-position="bottom-right"
     data-lyric="true"
     data-theme="auto"
     data-autoplay="false">
</div>

<!-- 嵌入模式(适合文章内) -->
<div class="netease-mini-player"
     data-song-id="1823012873"
     data-embed="true"
     data-lyric="true"
     data-theme="light">
</div>
  • data-playlist-id:网易云歌单 ID(如 https://music.163.com/playlist?id=14273792576 中的数字)
  • data-song-id:单曲 ID(嵌入模式专用)
  • data-embed="true":开启嵌入模式,隐藏上/下一首按钮,适合单曲展示
  • data-theme="auto":自动跟随系统主题(也可设为 lightdark

如果你实在不会配置,在线演示:https://nmp.hypcvgm.top 网站拥有可视化播放器构建器,可视化配置,复制直接用

3. 自动初始化(无需写 JS!)

播放器会在 DOM 加载完成后自动初始化所有 .netease-mini-player 元素。如果你需要手动控制,也可以这样:

document.addEventListener('DOMContentLoaded', () => {
   
  const players = document.querySelectorAll('.netease-mini-player');
  players.forEach(el => new NeteaseMiniPlayer(el));
});

4. 部署效果

QQ20251022-222934.png

博客页面展示

QQ20251023-183224.png


二、高级用法:API 控制与事件监听

播放器实例会挂载到 DOM 元素上,可通过 _neteasePlayer 访问:

const player = document.querySelector('.netease-mini-player')._neteasePlayer;

// 播放控制
player.play();
player.pause();
player.seek(60); // 跳转到第60秒

// 音量与主题
player.setVolume(0.7);
player.setTheme('dark');

// 事件监听
player.on('songchange', (song) => {
   
  console.log('当前歌曲:', song.songtitle);
});

完整 API 列表见项目文档([NMP v2] NeteaseMiniPlayer v2 使用文档


三、关键一步:自建 NeteaseCloudMusicApi(解决 404/跨域问题)

推荐方案:用 Vercel 一键部署 API

这是目前最简单、免费、稳定的方案 :

  1. Fork 项目
    前往 NeteaseCloudMusicApiEnhanced/api-enhanced 点击 Fork。(原仓库已经删库了,采用第三方可用NeteaseCloudMusicApi库)

  2. 登录 Vercel
    访问 vercel.com,用 GitHub 账号登录。

  3. 新建项目

    • 点击 “New Project”
    • 选择你刚 Fork 的仓库
    • 环境变量无需配置(默认即可)
    • 点击 Deploy

部署完成后,你会得到一个类似 https://xxx.vercel.app 的地址,这就是你的专属 API!

修改播放器 API 地址

目前 NeteaseMiniPlayer v2 的 API 地址是写死的,但你可以通过以下方式覆盖:

  1. 下载源码GitHubGitCode
  2. 打开 netease-mini-player-v2.js
  3. 搜索 https://api.hypcvgm.top/NeteaseMiniPlayer/nmp.php,替换为你的 Vercel 域名(如 xxx.vercel.app
  4. 本地引用修改后的 JS 文件

💡 小技巧:未来版本会支持通过 data-api-base 属性动态指定 API 地址,敬请期待。


四、常见问题排查

  • 播放器不显示?
    检查是否引入了 CSS/JS,且 DOM 元素 class 正确。

  • 歌曲无法播放?
    可能是版权限制(部分歌曲需登录),或 API 服务异常。建议自建 API。

  • 自动播放无效?
    现代浏览器禁止未交互页面的自动播放,需用户先点击页面 。

  • 歌词不显示?
    确保 data-lyric="true",且歌曲有可用歌词数据。


相关文章
|
22天前
|
人工智能 监控 Java
构建定时 Agent,基于 Spring AI Alibaba 实现自主运行的人机协同智能 Agent
借助 Spring AI Alibaba 框架,开发者可快速实现定制化自动定时运行的 Agent,构建数据采集、智能分析到人工参与决策的全流程AI业务应用。
482 37
|
1月前
|
SQL 人工智能 运维
一场由AI拯救的数据重构之战
本文以数据研发工程师小D的日常困境为切入点,探讨如何借助AI技术提升数据研发效率。通过构建“数研小助手”智能Agent,覆盖需求评估、模型评审、代码开发、运维排查等全链路环节,结合大模型能力与内部工具(如图治MCP、D2 API),实现影响分析、规范检查、代码优化与问题定位的自动化,系统性解决传统研发中耗时长、协作难、维护成本高等痛点,推动数据研发向智能化跃迁。
200 29
一场由AI拯救的数据重构之战
|
25天前
|
安全 数据安全/隐私保护 虚拟化
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
329 2
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
|
26天前
|
监控 JavaScript 编译器
从“天书”到源码:HarmonyOS NEXT 崩溃堆栈解析实战指南
本文详解如何利用 hiAppEvent 监控并获取 sourcemap、debug so 等核心产物,剖析了 hstack 工具如何将混淆的 Native 与 ArkTS 堆栈还原为源码,助力开发者掌握异常分析方法,提升应用稳定性。
350 38
|
1月前
|
人工智能 运维 Serverless
函数计算 × MSE Nacos : 轻松托管你的 MCP Server
本文将通过一个具体案例,演示如何基于 MCP Python SDK 开发一个标准的 MCP Server,并将其部署至函数计算。在不修改任何业务代码的前提下,通过控制台简单配置,即可实现该服务自动注册至 MSE Nacos 企业版,并支持后续的动态更新与统一管理。
522 43
|
1月前
|
测试技术
哪里不对改哪里!全能图像编辑模型Qwen-Image-Edit来啦
Qwen-Image-Edit基于20B Qwen-Image模型,融合视觉语义与外观控制,支持中英文文字精准编辑、风格迁移、IP创作等多重功能,具备SOTA性能,助力低门槛、高精度图像编辑。
718 23
|
1月前
|
人工智能 IDE 程序员
Qoder 负责人揭秘:Qoder 产品背后的思考与未来发展
AI Coding 已经成为软件研发的必选项。根据行业的调研,目前全球超过 62% 的开发者正在使用 AI Coding 产品,开发者研发效率提升 30% 以上。当然,有很多开发者用得比较深入,提效超过 50%。
428 20
|
1月前
|
机器学习/深度学习 缓存 自然语言处理
【万字长文】大模型训练推理和性能优化算法总结和实践
我们是阿里云公共云 AI 汽车行业大模型技术团队,致力于通过专业的全栈 AI 技术推动 AI 的落地应用。
1102 38
【万字长文】大模型训练推理和性能优化算法总结和实践
|
25天前
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(三):湖流一体
原文:https://jack-vanlightly.com/blog/2025/9/2/understanding-apache-fluss 作者:Jack Vanlightly 翻译:Wayne Wang@腾讯 译注:Jack Vanlightly 是一位专注于数据系统底层架构的知名技术博主,他的文章以篇幅长、细节丰富而闻名。目前 Jack 就职于 Confluent,担任首席技术架构师,因此这篇 Fluss 深度分析文章,具备一定的客观参考意义。译文拆成了三篇文章,本文是第二篇。
308 25
Confluent 首席架构师万字剖析 Apache Fluss(三):湖流一体
|
26天前
|
SQL 关系型数据库 MySQL
开源新发布|PolarDB-X v2.4.2开源生态适配升级
PolarDB-X v2.4.2发布,新增开源Proxy组件与客户端驱动,支持读写分离、无感高可用切换及DDL在线变更,兼容MySQL生态,提升千亿级大表运维稳定性。
423 24
开源新发布|PolarDB-X v2.4.2开源生态适配升级