2014-10-01 22 views
6

HTML5 ma wbudowaną funkcję wykrywania głośności.Javascript wykrywa głośność systemu (dźwięk) i gniazdo audio podłączone do

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

Jest to tylko odtwarzacz.

Czy można wykryć objętość z systemu? Powiedz telefon. Czy mogę uzyskać odczyty głośności telefonu z przeglądarki mobilnej?

Czy mogę użyć JS do wykrycia, czy gniazdo audio jest podłączone?

Czy poziom głośności można wykryć dla wyjścia audio za pomocą GetUserMedia?

Odpowiedz

1

Krótka odpowiedź brzmi: nie! Tak powstały przeglądarki internetowe od bardzo dawna, a Microsoft/Google/Apple/Mozilla/Opera zrobiły to, aby uniknąć exploitów poprzez File.IO i inne. W rzeczywistości powinniśmy być wdzięczni za to - ponieważ izoluje komputer (ze wszystkimi osobistymi rzeczami) od aplikacji internetowej (która może być hostowana na serwerze z wrogimi intencjami).

W rzeczywistości istnieje jeden sposób, w jaki można to zrobić, ale działałoby to tylko dla użytkowników IE - a odpowiedzią są wtyczki activeX. Teraz możesz sprawić, że twój javascript stworzy taką wtyczkę i komunikuje się z nią - ale kto wie, czy activeX będzie wspierany przez IE w przyszłości.

Tak więc nie ma możliwości, aby było to możliwe z samym HTML5/Javascriptem - pomyśl tylko o przeglądarce jako systemie operacyjnym, w którym działa aplikacja internetowa. Tak więc Google, Microsoft itp. + Reszta osób, które decydują o standardach HTML5, decyduje o tym, ile uzyskują dostęp deweloper. Sprzęt kamery, sprzęt GPS itp. Dostaniemy dostęp, ale nie możemy robić z tym sprzętem tego, co chcemy - nie zawsze jest to wybór programisty.

Powiązane problemy