# now-playing **Repository Path**: timowen/now-playing ## Basic Information - **Project Name**: now-playing - **Description**: 直播歌曲歌名显示组件。检测国内音乐软件正在播放的歌曲信息以及进度条信息,提供查询 API 接口。适用于 OBS、直播姬等各类直播软件。 now playing, now playing service, now-playing-service - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-12-16 - **Last Updated**: 2024-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Now Playing **▶︎ ၊၊||၊|။|||| | 一款直播歌曲歌名显示组件** 项目后端代码开源在 GitHub 上:https://github.com/Widdit/now-playing-service QQ 交流群:150453391 ![](images/now_playing_release_banner.png) ## 功能特性 - 支持国内四大主流音乐软件(网易云音乐、QQ 音乐、酷狗音乐、酷我音乐) - 能够实时检测正在播放的 **歌曲信息** 以及 **进度条信息** - 歌曲信息 - 歌名 - 专辑名 - 作者名 - 歌曲封面 URL - 时长 - 进度条信息 - 进度条位置 - 是否暂停 - 提供查询 API 接口 - 适用于 OBS、B 站直播姬、抖音直播、虎牙直播、Streamlabs 等各类直播软件 ## 安装 & 使用方法 https://www.bilibili.com/video/BV16FzWYBEDr ## 效果预览 ![](images/sample_1.png) ![](images/sample_2.png) ## API 接口 - 你可以自己编写前端页面来渲染歌曲组件,调用接口 `http://localhost:9863/query`(请求方式为 GET,建议每秒调用一次) - 下图为接口响应示例。其中 player 为播放器信息,track 为歌曲信息 ![](images/query_response.png) ## 程序原理 首先通过 `Assets\GetMusicStatus\GetMusicStatus.exe` 程序获取到音乐软件的播放状态(Playing, Paused, None)、音乐平台(Netease, QQ, KuGou, KuWo)、窗口标题。该程序可独立运行,运行示例如下图所示: ![](images/getMusicStatus_output.png) 程序执行流程图如下图所示: ![](images/flow_chart.png) 由于播放进度是通过算法逻辑计算出来的(这个不可能直接获取到),所以拖动进度条是无法检测的,但是暂停动作可以检测到。该部分使用到了 [这段代码](https://stackoverflow.com/questions/23182880/check-if-an-application-emits-sound) 来获取指定进程的实时音量,从而判断音乐是否暂停。