title: Mock navigator.mediaDevices.enumerateDevices
body: <p>I want to be on a WebRTC call and hear the sound even though I don't have a microphone attached to the device.  The web app I'm using to join the VOIP call detects that I don't have a microphone and turns off my audio because it assumes that I want to call in.</p>
  
  <p>I noticed that the web app is using <code>navigator.mediaDevices.enumerateDevices</code> to determine whether or not I have the proper devices installed to be on the call.  Is there any way I can mock that to return valid MediaDeviceInfo objects to trick the site into thinking that I have a valid microphone so I can stay on the call?</p>
  
  <h3>Edit pertaining to duplicate answer</h3>
  
  <p>I don't think I can just override navigator.enumerateDevices = function(){...}</p>
  
  <p>The return value is a list of MediaDeviceInfo objects, which you can't create with the MediaDeviceInfo constructor.  But I'd love to know if anyone knows of a way to create some sort of response array that would satiate any consumer of that resolved promise on the page.</p>