getUserMedia API
by SHELDON PASCIAK
HTML
<!DOCTYPE html>
<html>
<head>
<title>getUserMedia</title>
</head>
<body>
<header>
<h1>getUserMedia</h1>
</header>
<article>
<video id="video" width="320" height="200" autoplay></video>
<section>
<button id="btnStart">Start video</button>
<button id="btnStop">Stop video</button>
<button id="btnPhoto">Take a photo</button>
</section>
<canvas id="canvas" width="320" height="240"></canvas>
</article>
</body>
</html>
CSS
body {
font-family: "Verdana";
font-size: 9pt;
}
header {
padding: 15px;
box-shadow: 0px 1px 2px rgba(0,0,0,0.4);
background-color: rgb(27, 161, 226);
color: #fff;
}
header h1 {
font-size: 14pt;
}
article {
width: 80%;
margin: auto;
margin-top: 20px;
}
JavaScript
window.onload = function() {
//Compatibility
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia;
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d"),
video = document.getElementById("video"),
btnStart = document.getElementById("btnStart"),
btnStop = document.getElementById("btnStop"),
btnPhoto = document.getElementById("btnPhoto"),
videoObj = {
video: true,
audio: true
};
btnStart.addEventListener("click", function() {
var localMediaStream;
if (navigator.getUserMedia) {
navigator.getUserMedia(videoObj, function(stream) {
video.src = (navigator.webkitGetUserMedia) ? window.webkitURL.createObjectURL(stream) : stream;
localMediaStream = stream;
}, function(error) {
console.error("Video capture error: ", error.code);
});
btnStop.addEventListener("click", function() {
//localMediaStream.stop();
video.src="";
});
btnPhoto.addEventListener("click", function() {
//context.drawImage(video, 0, 0, 320, 240);
context.drawImage(video, 0, 0, 320, 240);
});
}
});
};