把网易云当前播放歌曲名字输出到OBS

借用OBS Studio自带从文件读取文本的功能,两行代码实现歌曲名称输出。当然是.NET框架咯。

基础的代码就这么两行:

理论上把这些代码直接扔到一个Timer控件里就可以搞定了。

当然如果每隔那么几十毫秒就写一下txt未免太丧病,所以可以做一些简单的判断:

针对网易云的话还有个问题,就是网易云客户端在你把鼠标挪到播放按钮上面的时候标题会消失,不知道为什么是这么设定的,所以还得多判断一下,如果突然变成空字符串就不改:

但是如果你是退了网易云导致获取不到歌名呢?这时候因为进程不见了所以压根就会直接报错,所以无所谓直接在获取歌名之前try…catch:

但是实际上网易云启动起来之后有好几个进程,只有一个进程带歌曲名,所以还得判断一下是哪个:

接下来就是做个界面把这堆东西组合到一起的事儿。

总之……反正……能写到txt之后,在OBS里新建一个文本,勾上“从文件读取”,选择C:\text.txt,就可以实现歌名同步了。

由于是个程序员看到文章标题之后都知道该怎么写了,我就不放exe了,你们自己写吧。

#更新:

下载地址,需.net 4.61

分享:

关于“把网易云当前播放歌曲名字输出到OBS”我的5个想法

  1. 不错的干货,但是为什么我现在使用不论是化用作者给的参考代码自己重写或是下载作者的exe都只能读到”桌面歌词”这个结果?

    1. 对哦……我忘了桌面歌词这事儿了……
      因为那也是个带Title的窗口,解决方法要么关掉桌面歌词,要么判断窗口标题里有没有“-”……

  2. 偶然看到,觉得很好用,比那些插件方便多了。有的时候,歌名太长,能不能把歌名和歌手分成两个文件,并且删除其他诸如电视剧名称这类注释的文字。这类信息大多数是在书名号或者括号间。

    1. 可以分成两个文件,不过我觉得大概加个文本框提供正则匹配更好点?

发表评论

电子邮件地址不会被公开。 必填项已用*标注