JSFiddle - React, Tailwind, and code Playground
HTML
<video id="video" autoplay></video>
JavaScript
var videoElement = document.querySelector('video');
var device = 'default';
function gotDevices(deviceInfos) {
for (var i = 0; i !== deviceInfos.length; ++i) {
var deviceInfo = deviceInfos[i];
if(deviceInfo.kind === 'videoinput'){
device = deviceInfo.deviceId;
}
}
}
function gotStream(stream) {
window.stream = stream; // make stream available to console
videoElement.srcObject = stream;
}
navigator.mediaDevices.enumerateDevices().then(gotDevices);
function start() {
if (window.stream) {
window.stream.getTracks().forEach(function(track) {
track.stop();
});
}
var constraints = {
video: {deviceId: device ? {exact: device} : undefined}
};
navigator.mediaDevices.getUserMedia(constraints).then(gotStream);
}
start();