首页 > 解决方案 > JavaScript检测播放/暂停键盘(虚拟)键

问题描述

意外的是,我只是按下了键盘上的播放/暂停 ( ▶/❚❚) 按钮(上面的按钮)Num Lock联想键盘同时在未聚焦的选项卡中播放 YouTube 视频。令我大吃一惊的是,YouTube 视频立即暂停。

现在,我尝试查找它是如何工作的,但我无法在互联网上找到任何解释如何检测到这样的按键的按键。我尝试onkeydown = function(e) {console.log(e)}在控制台中运行,但按下播放/暂停按钮没有触发任何事件。此外,https://keycode.info/也没有给我任何帮助。我确实找到了http://www.kbdedit.com/manual/low_level_vk_list.html,其中列出了很多“虚拟键码”,其中包括VK_MEDIA_PLAY_PAUSE,这可能是我按下的键,但我没有找到任何方法用这个在 JS 中触发一个事件。

现在我确实想指出这个功能似乎在 Firefox 中不起作用,只在 Chrome 中起作用(据我测试过)。它可能仍然是实验性的,但我真的很想听听 YouTube 使用什么系统来捕捉这个事件,即使标签当前没有打开(Chrome 目前甚至没有关注)

PS:我在 Ubuntu 18.04 上体验过;例如,我不确定这是否适用于 Windows。

标签: javascriptgoogle-chromemedia-playerdom-events

解决方案


Chrome 负责(硬件媒体密钥处理),有关更多详细信息,请查看 chrome://flags/#hardware-media-key-handling

这里还有包含文档和演示的链接:https ://www.chromestatus.com/feature/5639924124483584


推荐阅读