Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to detect whether a headphone is inserted or removed in JavaScript?

Is there any event in JavaScript, I can listen to in browser, through which we can know whether headphones are inserted or removed?

I assume if we are able to iterate over devices of audio output in JavaScript, is there a possibility, we can deduct the change in the number of audio output devices?

like image 707
sarathprasath Avatar asked Jan 02 '18 16:01

sarathprasath


Video Answer


1 Answers

You can use the following: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices

example:

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

You could check the devices already connected from the following or call it on devicechange:

navigator.mediaDevices.enumerateDevices()
  .then(devices => {
    // Check the connected devices
    console.log(devices);  
  });
like image 149
Rick Avatar answered Sep 28 '22 09:09

Rick