message-enumerateddevices.js (305B)
1 onmessage = async e => { 2 const stream = await navigator.mediaDevices.getUserMedia({audio: true, video: true}); 3 stream.getTracks().forEach(t => t.stop()); 4 const devices = await navigator.mediaDevices.enumerateDevices(); 5 e.source.postMessage({ 6 devices: devices.map(d => d.toJSON()) 7 }, '*'); 8 }