是否可以使用媒体键来控制网站?

14j*_*lla 4 javascript keypress event-listener

我正在建立一个包含音频播放器的网站。我怀疑这是不可能的,因为我还没有看到这样做的网站,但是有什么方法可以允许用户使用键盘上的媒体键(即暂停、播放、停止、跳过)来控制我的播放器?

由于我构建了播放器,所以我需要的只是检测这些键的按键或按键事件,其余的应该很简单。

理想情况下,跨浏览器解决方案会很好,但即使它仅适用于某些浏览器,为支持这些键的浏览器添加此功能也会很好。

或者,如果出于任何原因这是一种不好的做法,请告诉我!

Ned*_*ley 9

媒体会话 API允许您监听浏览器中的媒体按键事件:

navigator.mediaSession.setActionHandler('play', () => console.log('play'));
navigator.mediaSession.setActionHandler('pause', () => console.log('pause'));
navigator.mediaSession.setActionHandler('seekbackward', () => console.log('seekbackward'));
navigator.mediaSession.setActionHandler('seekforward', () => console.log('seekforward'));
navigator.mediaSession.setActionHandler('previoustrack', () => console.log('previoustrack'));
navigator.mediaSession.setActionHandler('nexttrack', () => console.log('nexttrack'));
Run Code Online (Sandbox Code Playgroud)

所有现代浏览器都支持它。