Async gDM
by jib1
HTML
<button id="button">Present!</button><br>
<div id="div"></div>
<video id="video" autoplay></video>
JavaScript
const console = {log: msg => div.innerHTML += `${msg}<br>`};
button.onclick = async () => {
try {
video.srcObject = await navigator.mediaDevices.getDisplayMedia();
const {width, height} = video.srcObject.getVideoTracks()[0].getSettings();
console.log(`${width} x ${height}`);
for (const track of video.srcObject.getTracks()) {
track.onended = () => console.log(`${track.kind} track ended`);
}
} catch(e) {
console.log(e);
}
};