2014-10-01 55 views
6

HTML5具有板載音量檢測功能。使用Javascript來檢測系統的音量(聲音)和插入的音頻插孔

<video controls width="320" height="176" onvolumechange="alert('The volume has been changed')"> 

這隻適用於玩家。

是否可以從系統中檢測音量?說一個電話。我可以通過手機瀏覽器獲取手機的音量數據嗎?

或者我可以使用JS來檢測音頻插孔是否插入?

使用GetUserMedia可以檢測音頻輸出的音量級別嗎?

回答

1

對此的簡短回答是不! 這就是網絡瀏覽器已經很長一段時間了,而Microsoft/Google/Apple/Mozilla/Opera已經這樣做了,以避免通過File.IO等進行攻擊。其實,我們應該爲此感恩 - 因爲它會將您的計算機(包括您的所有個人資料)與網絡應用程序(可能以惡意的意圖託管在服務器上)隔離開來。

其實,有一種方法可以做到這一點,但它只適用於IE用戶 - 答案是activeX插件。現在,你可以讓你的JavaScript創建這樣一個插件並與之通信 - 但是誰知道activeX是否將在未來被IE支持。

因此,HTML5/Javascript本身無法實現這一點 - 只要將瀏覽器視爲運行您的網絡應用程序的操作系統即可。因此,Google,Microsoft等+決定HTML5標準的其他人決定開發者獲得多少訪問權。相機硬件,GPS硬件等我們確實可以訪問,但我們不允許用該硬件來做任何我們想做的事 - 它並不總是開發人員的選擇。