ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Nuclear 开源音乐播放器实战指南:装好它,再用 3 个接口接管播放

Nuclear 开源音乐播放器实战指南:装好它,再用 3 个接口接管播放 Nuclear 开源音乐播放器实战指南装好它再用 3 个接口接管播放【免费下载链接】nuclearStreaming music player that finds free music for you项目地址: https://gitcode.com/GitHub_Trending/nu/nuclearNuclear 是一款免费开源的流媒体音乐播放器无广告、无追踪支持 Windows、macOS、Linux。本文讲解如何在 1 分钟内装好 Nuclear 播放器用插件系统拿到音乐源并通过 HTTP API、MPD、MCP 三个接口从脚本和 AI 侧控制播放。项目画像播放器框架不是音乐仓库先说结论Nuclear 本身不托管任何音乐它是一个播放器框架——界面、播放引擎、队列、收藏、播放列表全由本体负责而「音乐从哪来」完全由插件决定。它是什么基于 TauriRust React的跨平台流媒体播放器AGPL-3.0 协议它不是什么不是本地曲库管理工具不提供任何内置音乐源边界在哪全新安装后一个插件都没有装插件之前它是一台「空播放器」内容怎么来插件向播放器注册 provider按类型分为元数据搜索/浏览、流媒体找音频、仪表盘、发现推荐、播放列表导入数据在哪监听历史存本地 SQLite服务只在局域网和 localhost 监听不经过公网架构细节可参考官方文档 How Nuclear works。1 分钟安装flatpak 一条命令Linux 上走 Flathub 最省事flatpak install flathub com.nuclearplayer.Nuclear验证是否装好flatpak list | grep -i nuclear看到包名和版本号即可。Windows 和 macOS 直接下载对应安装包exe/dmgLinux 也可用 AppImage、deb、rpm。如果你要改代码仓库是 pnpm monorepoclone 后pnpm install pnpm dev就能跑起来Node 22、pnpm 9、Rust stable。核心能力拆解拿音乐 → 播音乐 → 控播放装插件拿音乐源装好播放器后第一件事是进 Settings → Plugins在 Store 里装插件。每个插件会注册一种或多种 providermetadata provider 负责搜索和浏览艺人/专辑/曲目streaming provider 负责把曲目信息换成真实音频流其余还有 dashboard、discovery、playlists 三类。装了多个同类 provider 时在左侧栏的 Sources 视图里选当前生效的那个。有一个容易忽略的点部分 metadata provider 与特定 streaming provider 是配对关系选中前者时流媒体下拉框会自动锁定到对应 provider——因为元数据和音频来自同一源头不能混配。播放与队列机制把歌曲拖进队列后按播放实际是两步协作metadata provider 提供曲目信息streaming provider 找到音频流之后的缓冲、跳转、音量、队列推进都由播放器本体处理。队列本身有几个工程上的细节值得知道队列自动落盘重启后队列和位置都能恢复支持 shuffle、repeat all、repeat one 和拖拽排序整个队列可另存为播放列表每条曲目可能有多个「stream candidate」播放器会依次尝试直到某个能出声。如果放出来的是 live 版或 remix右键队列项可以手动切换到其他候选选择会保留到链接过期三个外部接口HTTP API、MPD、MCPNuclear 内置了三个服务端都是按需开启Settings → Integrations接口监听地址给谁用HTTP API随 Nuclear Jam 开启局域网 4120~4129 端口脚本、自研遥控器MPD server127.0.0.1:6600 起mpc、ncmpcpp、mpDris2MCP server127.0.0.1:8800 起AI 编码工具MPD 客户端如果 Nuclear 恰好拿到默认 6600 端口mpc status直接可用否则要设MPD_HOST/MPD_PORT指向实际端口。MCP 侧以 Claude Code 为例一条命令接入claude mcp add nuclear --transport http http://127.0.0.1:8800/mcpMCP 只暴露 4 个工具list_methods、method_details、describe_type、call按「先列域、再查详情、最后执行」的分层发现流程走每次返回小载荷省 token。HTTP API 的完整端点表见 HTTP API 文档状态类/api/queue、/api/playback、/api/settings、动作类播放/暂停/切歌/seek/加队列/搜索全部是 JSON in / JSON outGET /api/events用 SSE 推送队列、播放、设置三类全量状态。典型落地一段脚本让播放器自己跑起来下面的 bash 片段组合了「搜索 加队列 播放 拉状态」四个能力前提是先在 Settings → Integrations 里开启 Nuclear Jam 并记下 API URLAPIhttp://192.168.1.42:4120/api # 换成你机器上的 API URL # 健康检查 curl -s $API/health # 搜索并取第一首塞进队列 TRACK$(curl -s -X POST $API/search \ -H Content-Type: application/json \ -d {query:Daft Punk,types:[tracks],limit:1} | jq .tracks[0]) curl -s -X POST $API/queue/add \ -H Content-Type: application/json \ -d {\tracks\:[$TRACK]} # 开始播放 curl -s -X POST $API/playback/play # 拉当前队列和播放状态核对 curl -s $API/queue | jq .currentIndex curl -s $API/playback跑通之后把curl换成你喜欢的语言即可。想听什么、何时切歌、什么时候随机播放都可以做成定时任务或别的产品的联动动作。局域网里的手机也可以不开任何代码——Nuclear Jam 自带的 Web 遥控器扫码即用多个设备同时在线且状态同步。边界与注意⚠️ 端口占用是最常见的「连不上」。MCP 从 8800 向上试到 8809MPD 从 6600 试到 6609Jam 从 4120 试到 4129占用了会自动挪端口但你脚本里写死的还是旧端口——排查时以设置页显示的 MCP Server URL / MPD Server URL 字段为准。macOS 首次打开会被 Gatekeeper 拦未做 Apple 开发者签名右键选 Open 即可Flatpak 沙箱可能让个别功能受限遇到异常换 deb/rpm/AppImage 再复现一次能直接判断是系统问题还是发行版问题。再提醒一个方向性的点Jam 只监听局域网、MCP 和 MPD 只监听 localhost这是设计而非缺陷。别给这些端口做公网转发远程访问请走你自己的隧道方案。延伸方向用 plugin-sdk 写自定义插件注册自己的 streaming 或 dashboard provider监听历史存于 appdata 下databases/history.dbSQLite可用任意数据库工具分析听歌习惯开启 discovery队列播完后自动追加推荐曲目用自定义 CSS 主题或主题商店换外观不影响功能pnpm dev:remote把开发服务器绑定 0.0.0.0从局域网设备直接调试遥控器 UI【免费下载链接】nuclearStreaming music player that finds free music for you项目地址: https://gitcode.com/GitHub_Trending/nu/nuclear创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表