最近因为新项目《失控: 2092》重启了直播监工,想在直播画面加个“当前播放歌曲”的小字幕,本以为这是个很常见的需求,结果翻遍了直播姬的H5插件市场,愣是没找到能直接显示系统当前播放音乐的插件,点歌的倒是一大堆。
忘了怎么点点到了一个叫“彗星号”的直播软件官网,彗星号有插件可以实现,但我不想为了一个小功能装新软件了,而且还要会员——直播姬明明支持自定义 Web 素材,何不自己写一个?
第一阶段:Web 思路碰壁
最初的想法很“现代”:后端调用系统媒体 API 获取当前播放的歌曲信息,再推送到前端页面渲染,直播姬直接加载这个网页就行。
想法很美好,现实很骨感。
思路看起来没问题,但是在第一步找能获取“系统全局媒体信息”的库就卡住了,发现大多数方案只能监听特定播放器(比如 PotPlayer、网易云),根本做不到“只要是 Windows 正在播放的媒体都能抓到”。
折腾半天无果,几乎准备放弃了。
转机:发现“文件导入”这个隐藏功能
就在准备放弃时,我无意中注意到:直播姬的文字素材支持从本地 TXT 文件导入,并且会自动刷新内容!

这意味着——我不需要前端页面了!只要有个程序能实时把当前歌曲写进一个 txt 文件,直播姬就能自动显示出来。
这个发现让我眼前一亮。既然不需要 Web,那何必拘泥于 Python 或 Node.js?转念一想:Windows 系统对 C# 的支持向来很好,而且之前听说 Wallpaper 就是 C# 写的……或许 C# 能直接调用系统级的媒体控制接口?
虽然我完全没学过 C#,.NET 也只是因为装软件时见过这个名字,但 AI 时代,这么基础的一个小需求完全无惧“0基础” 
第二阶段:零基础写 C#,一次成功
我把需求告诉 AI:“用 C# 写一个程序,实时获取 Windows 当前播放的媒体信息,写入 TXT 文件,支持 UTF-8 编码,能自动重试,未播放时显示‘未在播放’。”
没想到,AI 不仅给出了完整代码,还一步步指导我,让我惊讶的是,第一次就成功了! 完全符合预期,或许是这个需求太基础了吧。
整个过程丝滑得让我怀疑人生——原来“系统媒体传输控制”(SMTC)API 早就为这种场景准备好了,只是我之前不知道而已。
如果你也需要
只支持支持SMTC协议的播放器,经测试QQ音乐、Edge、PotPlayer等支持,网易云不支持
后记:技术不是门槛,思路才是
很多时候,不是技术做不到,而是我们没找到对的路径。
从执着于“Web 插件”,到发现“文件导入”这个简单却无限可能的功能,再到用完全陌生的语言写出可用工具——整个过程像一场小冒险。
而 AI 的存在,让“零基础实现想法”变得前所未有地容易。它不是替代思考,而是把我们从“会不会写代码”的焦虑中解放出来,专注于“我想做什么”。
现在,每当我直播时看到角落里跳动的歌曲名,都会心一笑:这行字背后,是一个小白和 AI 合作完成的小奇迹。
如果你的方案也被困于某一环节,不妨试试换个思路——或许,下一个“灵光一闪”的人就是你。

部分信息可能已经过时