2016-09-21 320 views
1

我的電腦鍵盤與許多現代鍵盤一樣,有一個播放/暫停音樂的按鈕。它適用於許多應用程序,如Spotify本地播放器,Google音樂網絡播放器,iTunes等。其中一些應用程序是本地應用程序,另一些應用於瀏覽器。即使程序(或瀏覽器選項卡)未對焦,該按鈕也可以工作。這些程序如何鉤入這個功能?鍵盤上的播放/暫停按鈕如何工作?

我期望它的工作原理有點如下,但這只是一種猜測:

  1. 的Web應用程序進行註冊,瀏覽器傳聲通道,暫停/播放/停止提供一些回調,等
  2. 瀏覽器與操作系統註冊自己的聲音通道,提供了一些回調函數
  3. 暫停按鈕被按下鍵盤上
  4. OS呼籲登記聲道的回調
  5. 瀏覽器的NA略去回調調用Web應用程序的JavaScript回調函數,它執行暫停

(和本機應用程序,通過瀏覽器間接將被跳過)

回答

0

我會想你的意思是Windows操作系統。答案在不同操作系統上差不多,我會在這裏指出特定於Windows的參考。

它們並不像你認爲的那樣特別。他們是標準鍵盤按鍵,甚至have constants in the Windows API(查找VK_MEDIA_,VK_LAUNCH_,VK_BROWSER_等)。

鍵盤硬件發送這些鍵的掃描代碼,就像普通鍵一樣向操作系統發送掃描代碼。

程序可以使用Windows鉤子SetWindowsHookEx(請參閱WH_KEYBOARD)全局偵聽鍵盤事件。

瀏覽器可能會或可能不會公開這些密鑰。瀏覽器可以將​​和keyup事件發送給具有原始掃描代碼的元素,因此沒有理由不能在網頁中檢測它們。窗口掛鉤可能會過濾掉這些鍵,因此它們可能無法訪問瀏覽器進程。您可以通過在「嘗試它!」中用光標按下其中一個鍵來嘗試它。字段,在this page

+0

哦,我的天啊,你是對的,它比我想像的要簡單得多:)謝謝! – bigpopakap