我想为 Obsidian.md 制作一个插件,在其中我可以看到当前正在播放的曲目,并且如果可能的话,希望能够暂停/播放/跳过曲目。在 Wallpaper Engine 中,显示工作正常,但我只使用内置函数。我如何在 NodeJS 中执行此操作,以便它甚至可以与 YouTube Music 一起使用?如果只适用于 Windows 就可以了
我尝试了 MediaSession API (
const mediaMetadata = navigator.mediaSession.metadata.title;
),但除了 NULL 之外我没有得到任何输出。遗憾的是,在谷歌上我没有找到任何可用的东西。
真诚的 速度快
我可以想到的一种方法是使用浏览器扩展来监视 youtube 音乐选项卡并从中抓取数据,以使用 websocket 服务器发送到用 nodejs 编写的本地网络服务器,然后让黑曜石插件监听本地网络服务器的 websocket发送数据至.
然后对于播放控件,您可以反向执行基本相同的操作。
Browser extension watchs for page changes
Page is updated
Extension gets music info from html elements
Extension sends data to local webserver
Webserver gets date from extension
Webserver sends data to a websocket
Plugin listens for data on websocket
Plugin parses data and does stuff with it