Source code

Revision control

Copy as Markdown

Other Tools

onmessage = async e => {
const stream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
stream.getTracks().forEach(t => t.stop());
const devices = await navigator.mediaDevices.enumerateDevices();
e.source.postMessage({
devices: devices.map(d => d.toJSON())
}, '*');
}