【问题标题】:Is it possible to create a browser based html/javascript audio player, that handles most of the MPRIS commands?是否可以创建一个基于浏览器的 html/javascript 音频播放器来处理大多数 MPRIS 命令?
【发布时间】:2022-02-12 17:09:38
【问题描述】:

我正在尝试创建一个可以处理大多数 MPRIS 命令的音乐播放器。

在播放 youtube 期间,playerctl 列出 firefox 播放器 (firefox.instance{id}),如果它有播放列表,那么我可以使用 $ playerctl -p firefox.instance{id} next 跳到上一个/下一个项目。这也适用于 chrome。

我想在 React.js 应用程序中实现相同的行为,但首先我正在寻找基于 html/javascript 的解决方案。

我的一个猜测是这是不可能的(不使用浏览器插件),因为 firefox 会为每个支持的网站手动实现这一点。

也许我做错了什么,但无论我搜索什么,我都找不到任何相关信息。

感谢阅读/评论!

【问题讨论】:

    标签: javascript html audio media-player html5-audio


    【解决方案1】:

    Media Session API 似乎很好地解决了这个问题:https://developer.mozilla.org/en-US/docs/Web/API/Media_Session_API

    每次运行 $ playerctl -p firefox.instance{id} next 时(或任何其他 MPRIS 客户端调用“下一个”,如 Android 上的 KDE 连接),此事件侦听器都会运行:

      navigator.mediaSession.setActionHandler('previoustrack', function() { /* Code excerpted. */ });
    

    它甚至可以在 chrome 中使用(skipad 事件除外)。更多信息可以在我上面链接的 MDN Web Docs 'Media Session API' 页面上找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-20
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      • 2017-03-14
      • 2010-12-11
      • 2014-02-20
      • 1970-01-01
      相关资源
      最近更新 更多