2016-09-21 5 views
1

내 컴퓨터 키보드에는 현대의 많은 키보드처럼 음악을 재생/일시 중지하는 버튼이 있습니다. Spotify 네이티브 플레이어, Google 뮤직 웹 플레이어, iTunes 등 많은 응용 프로그램에서 작동합니다. 일부는 기본이며 일부는 브라우저에 있습니다. 이 버튼은 프로그램 (또는 브라우저 탭)에 포커스가 없을 때에도 작동합니다. 이 프로그램들은이 기능에 어떻게 연결되어 있습니까?키보드의 재생/일시 정지 단추는 어떻게 작동합니까?

나는 다음과 같이 다소 일 것으로 예상하지만, 이것은 단지 추측입니다 : 등,

  1. 웹 응용 프로그램이 일시 정지/플레이/정지에 대한 몇 가지 콜백을 제공하는 브라우저와 사운드 채널을 등록
  2. 브라우저는
  3. OS 등록 된 사운드 채널에 대한 콜백을 호출
  4. 일시 정지 버튼이 키보드를 누를 때 일부 콜백 기능을 제공하는 OS와의 사운드 채널을 등록
  5. 브라우저의 NA 적인 콜백은 일시 정지

(그리고 네이티브 응용 프로그램, 브라우저를 통해 간접가 생략 된 것)

답변

0

내가 Windows를 의미하는 추측거야에게 실행하는 웹 응용 프로그램의 자바 스크립트 콜백 함수를 호출합니다. 그 대답은 운영체제에 따라 다르지 않습니다. 여기서는 Windows 관련 참고 자료를 알려 드리겠습니다.

그들이 생각하는 것처럼 특별하지 않습니다. 그들은 표준 키보드 키이고 심지어 have constants in the Windows API (VK_MEDIA_, VK_LAUNCH_, VK_BROWSER_ 등을 찾으십시오).

키보드 하드웨어 전송은 일반 키와 마찬가지로 해당 키의 스캔 코드를 운영 체제로 보냅니다.

프로그램은 SetWindowsHookEx (WH_KEYBOARD 참조)의 Windows 후크를 사용하여 키보드 이벤트를 전체적으로들을 수 있습니다.

브라우저는 이러한 키를 노출 할 수도 있고 노출하지 않을 수도 있습니다. 브라우저는 원시 스캔 코드가있는 요소에 keydownkeyup 이벤트를 보낼 수 있으므로 웹 페이지에서 해당 이벤트를 감지 할 수 없습니다. Windows 후크는 해당 키를 걸러 낼 수 있으므로 브라우저 프로세스에 도달하지 못할 수 있습니다. "Try It!"버튼에서 커서로 해당 키 중 하나를 눌러 시도해 볼 수 있습니다. 입력란은 this page입니다.

+0

오 세상에, 당신이 맞습니다. 상상했던 것보다 훨씬 간단합니다 :) 감사합니다! – bigpopakap