2014-10-01 7 views
6

HTML5 verfügt über eine integrierte Lautstärkerkennung.Javascript zum Ermitteln der Systemlautstärke (Ton) und des Audiosteckers

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

Dies ist nur für den Spieler.

Kann das Volumen vom System erkannt werden? Sag ein Telefon. Kann ich über den mobilen Browser die Lautstärke meines Telefons abrufen?

Oder kann ich mithilfe von JS erkennen, ob die Audiobuchse angeschlossen ist?

Kann der Lautstärkepegel für den Audioausgang mit GetUserMedia erkannt werden?

Antwort

1

Kurze Antwort dafür ist nein! Dies ist, wie Web-Browser für eine sehr lange Zeit jetzt gemacht wurden, und Microsoft/Google/Apple/Mozilla/Opera haben dies getan, um Exploits durch File.IO und so zu vermeiden. Eigentlich sollten wir dafür dankbar sein - denn es isoliert Ihren Computer (mit all Ihren persönlichen Dingen) von der Web-Anwendung (die möglicherweise auf einem Server mit feindseligen Absichten gehostet wird).

Eigentlich gibt es eine Möglichkeit, dies zu tun, aber es würde nur für IE-Benutzer funktionieren - und die Antwort ist ActiveX-Plugins. Jetzt könnten Sie Ihr Javascript so ein Plugin erstellen und damit kommunizieren - aber wer weiß, ob ActiveX in Zukunft von IE unterstützt wird.

Also per se ist das mit HTML5/Javascript alleine nicht möglich - denken Sie nur an den Browser als Betriebssystem, auf dem Ihre Web-App läuft. Also Google, Microsoft etc + der Rest der Leute, die die HTML5-Standards entscheiden, sind diejenigen, die entscheiden, wie viel Zugriff der Entwickler bekommt. Auf Kamera-Hardware, GPS-Hardware usw. können wir zugreifen, aber wir dürfen mit dieser Hardware nicht machen, was wir wollen - es ist nicht immer die Entscheidung der Entwickler.