first commit
This commit is contained in:
95
StreamDemo.html
Normal file
95
StreamDemo.html
Normal file
@@ -0,0 +1,95 @@
|
||||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>GetUserMedia demo</title>
|
||||
</head>
|
||||
<body>
|
||||
<a href="http://eddiela.github.io/JOB" style="position:absolute;left:350px;">Main page</a>
|
||||
<Canvas id="videoCanvas" width="320" height="240">
|
||||
</Canvas>
|
||||
<button id="decode" style="position:absolute;top:225px;left:330px" onclick="Decode()">Start decoding</button>
|
||||
<button id="stopDecode" style="position:absolute;top:225px;left:450px" onclick="StopDecode()">Stop decoding</button>
|
||||
<p id="Result" style="position:absolute;top:275px;"></p>
|
||||
<script src="JOB.js"></script>
|
||||
<script>
|
||||
var result = document.getElementById("Result");
|
||||
JOB.Init();
|
||||
var localized = [];
|
||||
var streaming = false;
|
||||
JOB.StreamCallback = function(result) {
|
||||
console.log('StreamCallback', result);
|
||||
if(result.length > 0){
|
||||
var tempArray = [];
|
||||
for(var i = 0; i < result.length; i++) {
|
||||
tempArray.push(result[i].Format+" : "+result[i].Value);
|
||||
}
|
||||
Result.innerHTML=tempArray.join("<br />");
|
||||
}
|
||||
};
|
||||
JOB.SetLocalizationCallback(function(result) {
|
||||
localized = result;
|
||||
});
|
||||
JOB.SwitchLocalizationFeedback(true);
|
||||
c = document.getElementById("videoCanvas");
|
||||
ctx = c.getContext("2d");
|
||||
video = document.createElement("video");
|
||||
video.width = 640;
|
||||
video.height = 480;
|
||||
function draw() {
|
||||
try {
|
||||
ctx.drawImage(video,0,0,c.width,c.height);
|
||||
if(localized.length > 0) {
|
||||
ctx.beginPath();
|
||||
ctx.lineWIdth = "2";
|
||||
ctx.strokeStyle="red";
|
||||
for(var i = 0; i < localized.length; i++) {
|
||||
ctx.rect(localized[i].x,localized[i].y,localized[i].width,localized[i].height);
|
||||
}
|
||||
ctx.stroke();
|
||||
}
|
||||
setTimeout(draw,20);
|
||||
}
|
||||
catch (e) {
|
||||
if (e.name == "NS_ERROR_NOT_AVAILABLE") {
|
||||
setTimeout(draw,20);
|
||||
} else {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
navigator.getUserMedia = ( navigator.getUserMedia ||
|
||||
navigator.webkitGetUserMedia ||
|
||||
navigator.mozGetUserMedia ||
|
||||
navigator.msGetUserMedia);
|
||||
if (navigator.getUserMedia) {
|
||||
navigator.getUserMedia (
|
||||
{
|
||||
video: true,
|
||||
audio: true
|
||||
},
|
||||
function(localMediaStream) {
|
||||
video.src = window.URL.createObjectURL(localMediaStream);
|
||||
video.play();
|
||||
draw();
|
||||
streaming = true;
|
||||
},
|
||||
function(err) {
|
||||
console.log("The following error occured: " + err);
|
||||
}
|
||||
);
|
||||
} else {
|
||||
console.log("getUserMedia not supported");
|
||||
}
|
||||
|
||||
function Decode() {
|
||||
if(!streaming) return;
|
||||
JOB.DecodeStream(video);
|
||||
}
|
||||
|
||||
function StopDecode() {
|
||||
JOB.StopStreamDecode();
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user