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

Posted

技术标签:

【中文标题】检测系统音量(声音)和插入的音频插孔的Javascript【英文标题】:Javascript to detect system's volume (sound) and audio jack plugged in 【发布时间】:2014-10-01 20:09:30 【问题描述】:

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

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

这仅适用于玩家。

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

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

能否使用 GetUserMedia 检测音频输出的音量级别?

【问题讨论】:

javascript: Can you read the systems volume?的可能重复 【参考方案1】:

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

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

因此,就其本身而言,仅使用 HTML5/Javascript 是无法实现的 - 只需将浏览器视为运行 Web 应用程序的操作系统即可。所以谷歌、微软等 + 其他决定 HTML5 标准的人是决定开发人员获得多少访问权限的人。我们可以访问相机硬件、GPS 硬件等,但我们不能对这些硬件做任何我们想做的事情——这并不总是开发人员的选择。

【讨论】:

以上是关于检测系统音量(声音)和插入的音频插孔的Javascript的主要内容,如果未能解决你的问题,请参考以下文章

win7无声音显示“未插入扬声器或耳机” 怎么解决

Ubuntu Linux下怎样同时对麦克风及系统声音进行录音

电脑显示未插入扬声器和耳机?

debian8.4 系统莫名没有声音

如何使用 python 检测到某些东西已插入 linux 上的音频插孔?

如何监控设备的音频输出以判断声音是不是来自扬声器/耳机插孔?