捕获按下音量增大按钮?

fek*_*lee 5 javascript firefox-os

Firefox OS 应用程序可以检测何时按下音量增大按钮吗?如果是这样,怎么办?

(也许这只是 上的一个关键事件document,还没有尝试过)

dwi*_*wi2 3

Bug 989198是向应用程序公开 keydown/keyup 事件的 bug。这个wiki 页面描述了这种新的KeyboardEvent调度机制。目前在 FOS 手机v2.2 及更高版本上,只有VolumeUp关键VolumeDown事件才会被分派到应用程序中。

在 FOS 2.2 及更高版本上,任何应用程序都可以侦听keydown音量keyup增大和音量减小按钮的事件。分派给处理程序的事件是常规KeyboardEvent事件(与桌面浏览器中相同)。当用户按下音量减小或音量增大时,带有.key=VolumeDown或 的KeyboardEventVolumeUp将被分派到焦点应用程序。如果您想阻止系统应用程序处理它们(即调低或调高音量),只需调用event.preventDefault()您的按键事件处理程序即可。

这是事件处理的示例keydown

var keyDownHandler = function(evt) {
  if (evt.key === 'VolumeDown') {
    // process logic of volume-down
  } else if (evt.key === 'VolumeUp') {
    // process logic of volume-up
  }
  evt.preventDefault(); // to stop system app from processing keydown event
};

window.addEventListener('keydown', keyDownHandler);
Run Code Online (Sandbox Code Playgroud)