如何在 NodeJS 中从浏览器获取当前正在播放的歌曲?

问题描述 投票:0回答:1

我想为 Obsidian.md 制作一个插件,在其中我可以看到当前正在播放的曲目,并且如果可能的话,希望能够暂停/播放/跳过曲目。在 Wallpaper Engine 中,显示工作正常,但我只使用内置函数。我如何在 NodeJS 中执行此操作,以便它甚至可以与 YouTube Music 一起使用?如果只适用于 Windows 就可以了

我尝试了 MediaSession API (

const mediaMetadata = navigator.mediaSession.metadata.title;
),但除了 NULL 之外我没有得到任何输出。遗憾的是,在谷歌上我没有找到任何可用的东西。

真诚的 速度快

node.js background-music obsidian
1个回答
0
投票

我可以想到的一种方法是使用浏览器扩展来监视 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
© www.soinside.com 2019 - 2024. All rights reserved.