我怎么知道我的耳机是否连接到我的电脑? HTML5 + JavaScript

时间:2016-10-18 11:16:30

标签: javascript jquery html html5 audio

我怎么知道我的耳机是否连接到电脑?我的目标是使用HTML5 + JavaScript。

在下一页显示所有音频输出设备,但无法知道有源设备是否是头戴式耳机。在Firefox中它不起作用!

https://webrtc.github.io/samples/src/content/devices/input-output/

我想知道的是,我是否有使用HTML5和JavaScript连接的耳机。

3 个答案:

答案 0 :(得分:0)

截至今天(2019年3月),还没有可实现的跨浏览器内置工具来检测用户是否插入了耳机。理论上您可以获取音频输出目标设备并测试其{{1 }},headset等,在典型情况下,它会为您提供驱动程序的名称,当用户插入耳机时,通常不会更改。通常部分使这种方法无用。

答案 1 :(得分:0)

无法使用任何现有的API,但是一种方法可能是在检查麦克风是否接听声音的同时发出声音。

这将是对回声的真实测试,您可以使用一些“欢迎”声音和一些FFT代码来“解析”麦克风输入,并查看您发送的声音是否正在重新进入麦克风。但是,这需要进行一些微调才能可靠,并且仍然不会使扬声器上的音量较小的人或​​戴着太大声的耳机的人无法被捕获..即使在这种情况下,由于它们会产生回声,因此可能会被捕获做正确的事。

我不记得哪个会议软件实际上在执行此设置步骤,发出旋律并检查反馈(也许是Skype的早期版本?),但是在现代浏览器中是可行的。

答案 2 :(得分:-2)

您可以要求用户确认已戴上耳机,以尝试使用此行代码。

window.confirm('do you have your headphones plugged in ?')