我怎么知道我的耳机是否连接到电脑?我的目标是使用HTML5 + JavaScript。
在下一页显示所有音频输出设备,但无法知道有源设备是否是头戴式耳机。在Firefox中它不起作用!
https://webrtc.github.io/samples/src/content/devices/input-output/
我想知道的是,我是否有使用HTML5和JavaScript连接的耳机。
答案 0 :(得分:0)
截至今天(2019年3月),还没有可实现的跨浏览器内置工具来检测用户是否插入了耳机。理论上您可以获取音频输出目标设备并测试其{{1 }},headset
等,在典型情况下,它会为您提供驱动程序的名称,当用户插入耳机时,通常不会更改。通常部分使这种方法无用。
答案 1 :(得分:0)
无法使用任何现有的API,但是一种方法可能是在检查麦克风是否接听声音的同时发出声音。
这将是对回声的真实测试,您可以使用一些“欢迎”声音和一些FFT代码来“解析”麦克风输入,并查看您发送的声音是否正在重新进入麦克风。但是,这需要进行一些微调才能可靠,并且仍然不会使扬声器上的音量较小的人或戴着太大声的耳机的人无法被捕获..即使在这种情况下,由于它们会产生回声,因此可能会被捕获做正确的事。
我不记得哪个会议软件实际上在执行此设置步骤,发出旋律并检查反馈(也许是Skype的早期版本?),但是在现代浏览器中是可行的。
答案 2 :(得分:-2)
您可以要求用户确认已戴上耳机,以尝试使用此行代码。
window.confirm('do you have your headphones plugged in ?')