用于检测系统音量(声音)和音频插孔的Javascript

时间:2014-10-01 20:09:31

标签: javascript html5 audio volume getusermedia

HTML5具有板载音量检测功能。

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

这仅适用于玩家。

是否可以从系统中检测音量?说一个电话。我可以通过移动浏览器获取手机的音量读数吗?

或者我可以使用JS来检测音频插孔是否已插入?

可以使用GetUserMedia检测音量输出的音量级别吗?

1 个答案:

答案 0 :(得分:1)

对此的简短回答是否定的! 这就是网络浏览器已经制作了很长时间的方式,而Microsoft / Google / Apple / Mozilla / Opera已经这样做了,以避免通过File.IO等进行攻击。实际上,我们应该感谢这一点 - 因为它将您的计算机(包括您所有的个人资料)与Web应用程序隔离(可能托管在具有恶意意图的服务器上)。

实际上,有一种方法可以做到这一点,但它只适用于IE用户 - 答案是activeX插件。现在,你可以让你的javascript创建这样一个插件并与之通信 - 但是谁知道IE将来是否支持activeX。

因此,单凭HTML5 / Javascript无法实现这一点 - 只需将浏览器视为运行Web应用程序的操作系统。因此谷歌,微软等以及决定HTML5标准的其他人是决定开发者获取多少访问权限的人。相机硬件,GPS硬件等我们可以访问,但我们不允许用硬件做任何我们想做的事 - 它并不总是开发人员的选择。