JavaScript 如何检测耳机是否插入或移除?

sar*_*ath 6 javascript browser headphones

JavaScript 中有没有什么事件,我可以在浏览器中收听,通过它我们可以知道是否插入或移除了耳机?

我假设如果我们能够在 JavaScript 中迭代音频输出设备,是否有可能,我们可以扣除音频输出设备数量的变化?

Ric*_*ick 8

您可以使用以下内容:https ://developer.mozilla.org/en-US/docs/Web/API/MediaDevices

例子:

navigator.mediaDevices.addEventListener('devicechange', () => {
  // Do whatever you need to with the devices
  // Maybe use enumerateDevices() to see what connected
});
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式检查已连接的设备或调用它devicechange

navigator.mediaDevices.enumerateDevices()
  .then(devices => {
    // Check the connected devices
    console.log(devices);  
  });
Run Code Online (Sandbox Code Playgroud)