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

时间:2018-07-20 15:29:34

标签: javascript keypress event-listener

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

自从我构建了播放器以来,我只需要检测这些按键的按键或按键事件,其余的就应该很简单。

理想情况下,跨浏览器解决方案会很好,但是即使仅在某些浏览器中有效,也可以为支持这些键的浏览器添加此功能。

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

1 个答案:

答案 0 :(得分:2)

通过Media Session 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'));

不幸的是,目前看来它只是由Chrome实现的。