如今,许多键盘上都有媒体控制键:播放/暂停,下一个,上一个等等。
我不是在谈论F1-F12键,顺便说一句
是否可以在浏览器的网页中捕获这些媒体键上的按键并做出反应?我的基本测试表明,它们不会触发window
对象上的按键事件。
内置的解决方案显然会很棒,但对于我的情况,即使是扩展也没问题。是否可以编写一个可以执行此操作的Firefox / Chrome插件?
答案 0 :(得分:1)
是的,这是可行的,已经完成http://smus.com/chrome-media-keys/ 也许他会与你分享源代码
答案 1 :(得分:1)
当前,Chrome(台式机和Android)具有Media Session API来处理一些媒体按键事件。
navigator.mediaSession.setActionHandler('play', function() { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('pause', function() { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('seekbackward', function() { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('seekforward', function() { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('previoustrack', function() { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('nexttrack', function() { /* Code excerpted. */ });
还可以使用playbackState accessor来访问当前的播放状态,即
navigator.mediaSession.playbackState; //"paused" or "playing"