myfiddle - RR

getusermedia The Title

by rowntreerob

HTML

<video/>

JavaScript

var video_constraints = {
    		width: { min: 420, max: 720 },
    		height: { min: 240, max: 534 },
    		require: ["width", "height"] // needed pre-Firefox 38 (non-spec)
    		};
    		
			var video= document.querySelector('video');
    	function getMedia(){
         
            if(navigator.webkitGetUserMedia){
    				var wkConstraints={mandatory: {} };
    				var c = video_constraints;
    				for(var i in c){
    					switch(i){
    					 case 'width': for(j in c[i]){
    						  switch(j){
    							 case 'max': wkConstraints.mandatory.maxWidth = c[i][j]; break;
    							 case 'min': wkConstraints.mandatory.minWidth = c[i][j]; break;
    							 case 'exact': wkConstraints.mandatory.minWidth = wkConstraints.mandatory.maxWidth = c[i][j]; break;
    							 }
    						}; break;

    					 case 'height': for(var j in c[i]){
    						  switch(j){
    							 case 'max': wkConstraints.mandatory.maxHeight = c[i][j]; break;
    							 case 'min': wkConstraints.mandatory.minHeight = c[i][j]; break;
    							 case 'exact': wkConstraints.mandatory.minHeight = wkConstraints.mandatory.maxHeight = c[i][j]; break;
    							 }
    						}; break;
    					 default: break;
    					}
    				}
    				video_constraints = wkConstraints;
            console.log(JSON.stringify(video_constraints));
    				}

    		navigator.getUserMedia = ( 	navigator.getUserMedia ||
    							   	navigator.webkitGetUserMedia ||
    								navigator.mozGetUserMedia);

            if(!navigator.getUserMedia){
    			alert("your browser doesn't support getUserMedia")
    			}

    		
    		navigator.getUserMedia(
                    {
    				video: video_constraints,
    				audio: false,
    				},
    			
    				function(stream) {
    					if (navigator.mozGetUserMedia) {
    						video.mozSrcObject = stream;
    						} 
    					else {
    						var URL = window.URL || window.webkitURL;
    						video.src = URL.createObjectURL(stream);
    						}
    					video.play();
 ...