【问题标题】:How I can know if I have headphones connected to my computer? HTML5 + JavaScript如何知道我的电脑是否连接了耳机? HTML5 + JavaScript
【发布时间】:2016-10-18 11:16:30
【问题描述】:

如何知道我的电脑是否连接了耳机?我的目标是使用 HTML5 + JavaScript 来获得它。

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

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

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

【问题讨论】:

  • 你不能。即使您可以看到迷你插孔已插入设备,您也无法确定它是耳机,而且我不会提及所有可以设置为音频输出的不同类型的蓝牙设备。好吧,一种方法是window.confirm('do you have your headphones plugged in ?')
  • 你似乎一直在提出非常糟糕的问题,但似乎得到了积极的回应。请查看有关如何提出好问题的常见问题解答,并请停止让您的朋友为您的坏问题投票。说真的,为什么这有2个赞成票?你没有表现出任何研究努力
  • @musefan 出于好奇,您有什么关于他需要做什么的好建议,以使他的问题变得更好。看这里 -> stackoverflow.com/help/how-to-ask 他似乎覆盖了大多数基地,除了 Help others reproduce the problem 但我认为在这种情况下可能会有点棘手。
  • @Keith:嗯,这个问题基本上是一个“为我做的问题”,永远不会很好。没有研究表明试图自行解决问题。此外,它说 something 在 Firefox 中不起作用,这意味着 something 在其他浏览器中起作用......那是什么东西?

标签: javascript jquery html audio


【解决方案1】:

截至今天(2019 年 3 月),还没有切实可行的跨浏览器内置工具来检测用户是否插入了耳机。虽然理论上您可以获取音频输出目标设备并对其进行测试,例如 headset , earphones 等,在典型情况下,它会为您提供司机的姓名,通常在用户插入耳机时不会改变。通常部分使接近没用。

【讨论】:

    【解决方案2】:

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

    这将是一个真正的回声测试,您可以使用一些“欢迎”声音和一些 FFT 代码来“解析”麦克风输入,并查看您发送的声音是否重新进入麦克风。但是,它需要进行相当多的微调才能可靠,并且仍然无法捕捉到扬声器音量低的人或捕捉到耳机音量过大的人..即使在这种情况下,由于他们正在产生回声,捕捉他们可能是做正确的事。

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

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 1970-01-01
      • 2012-08-26
      • 2022-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-11
      相关资源
      最近更新 更多