- 歌曲组件:实时检测并展示正在播放的歌曲信息,包括歌名、作者、封面、时长及播放进度
- 歌词组件:提供近 40 个配置项,支持全方位自定义;智能匹配最佳歌词,同时获取多种歌词源并采用最佳结果
- 播放器:仿 Apple Music 风格的播放器页面,展示歌曲信息与滚动歌词;支持电脑、移动设备等多端同步使用
- 信息输出:系统会生成包含当前歌曲信息的文件,供直播软件读取,支持模板自定义展示歌曲信息
- API 接口:开发者可利用 Now Playing API 自行设计前端页面,并通过软件内置服务器进行本地部署
支持 20+ 音乐平台,持续扩充中:
| 类型 | 平台 |
|---|---|
| 国内平台 | 网易云音乐、QQ 音乐、酷狗音乐、酷我音乐、汽水音乐 |
| 国外平台 | Spotify、Apple Music、YouTube Music |
| 点歌机 | 咩播、卡西米尔唱片机、花花直播助手、BQ 点歌姬 |
| 本地播放器 | PotPlayer、Foobar2000、AIMP |
| 其它 | 洛雪音乐、MusicFree、Cider、YesPlayMusic |
- 歌曲信息:歌名、歌手名、专辑名、歌曲封面、时长
- 进度条信息:进度条位置、播放状态(播放/暂停)
- 识别方式:支持窗口标题 / SMTC 两种方式
- 直播软件:适用于 OBS、B 站直播姬、抖音直播伴侣、斗鱼直播伴侣、虎牙直播、视频号直播、小红书直播、Streamlabs 等各类直播软件
- 操作系统:Windows 10 / 11(64 位)
- 前往 Release 页面下载整合包
- 开箱即用,无需进行任何配置
- 前往 网站 并使用 Google 账号登录(仅登录时需要梯子)
- 点击 "Widgets" 页面进入组件设置页面
- 在 "Music Service" 中选择 "YouTube Music",下方样式设置可自由调整
- 在 "OBS Setup" 中点击 "Click here to copy your URL" 复制链接
- 在直播软件中添加浏览器源,将复制的 URL 填入
-
开发者可利用 Now Playing API 自行设计前端页面,并通过软件内置服务器进行本地部署
-
API 接口界面:
使用 IDEA 打开项目(需注意:请使用 JDK 11 运行):
| 操作 | 步骤 |
|---|---|
| 运行 | 运行 NowPlayingApplication 类的 main 方法 |
| 打包 | 依次双击 IDEA 右侧 Maven → Lifecycle 的 clean 和 package,在 target 目录下生成 JAR 包 |
| JAR To EXE | 使用 exe4j 将 JAR 包转为 EXE |
external_programs/AudioService/GetMusicStatus 使用 VS Code 打开:
| 操作 | 命令 |
|---|---|
| 运行 | dotnet run |
| 打包 | dotnet publish -c Release -r win-x64 --self-contained -o ./publish |
通过 Assets/AudioService/GetMusicStatus.exe 程序检测音乐软件的播放状态(Playing、Paused、None)和歌曲信息,通常情况下每隔 1 秒输出一次,当检测到歌曲状态变化时会立即输出。
点击展开详细原理
接收命令行参数(具体取值请参考 源码):
| 参数 | 含义 | 描述 |
|---|---|---|
--device-id |
音频设备 ID | 仅检测该音频设备,默认值为 default,检测默认音频设备 |
--platform |
音乐平台 | 期望检测的音乐软件平台,默认值为 netease,检测网易云音乐 |
--smtc |
是否优先使用 SMTC | 优先通过 SMTC 识别歌曲信息,默认值为 true |
--poll-interval |
轮询间隔(ms) | 建议取值范围为 100~1000 ms,默认值为 100 ms(最快) |
GetMusicStatus.exe 程序可独立运行,运行示例如下图所示:
说明:由于播放进度是通过算法逻辑计算出来的(无法直接获取),所以拖动进度条无法检测,但暂停动作可以检测到。该部分使用了 这段代码 来获取指定进程的实时音量,从而判断音乐是否暂停。




