Async gUM no memory
by jib1
HTML
<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
<video id="video" width="160" height="120" autoplay controls></video><br>
<div id="div2"></div><div id="div"></div>
JavaScript
(async () => {
try {
const stream = await navigator.mediaDevices.getUserMedia({video: true, audio: true});
video.srcObject = stream;
const [vtrack] = stream.getVideoTracks();
const [atrack] = stream.getAudioTracks();
setInterval(() => update(`${info(vtrack)}<br>${info(atrack)}`), 500);
} catch (e) {
console.log(e);
}
})();
const console = { log: msg => div.innerHTML += msg + "<br>" };
const update = msg => div2.innerHTML = msg;
const info = t => `${t.kind == "video" ? "Camera" : "Microphone"} (${t.readyState}): ${t.label}`;