mirror of
https://github.com/serratus/quaggaJS.git
synced 2026-08-12 21:21:42 +08:00
video working
This commit is contained in:
committed by
Christoph Oberhofer
parent
f8bc6a705c
commit
f1a963f4a0
+17
-17
@@ -2,6 +2,10 @@ console.log(typeof Quagga);
|
|||||||
|
|
||||||
|
|
||||||
// creates a new instance!
|
// creates a new instance!
|
||||||
|
var code128Scanner = Quagga
|
||||||
|
.decoder({readers: ['code_128_reader']})
|
||||||
|
.locator({patchSize: 'medium'});
|
||||||
|
|
||||||
var eanScanner = Quagga
|
var eanScanner = Quagga
|
||||||
.decoder({readers: ['ean_reader']})
|
.decoder({readers: ['ean_reader']})
|
||||||
.locator({patchSize: 'medium'});
|
.locator({patchSize: 'medium'});
|
||||||
@@ -10,7 +14,7 @@ var i2of5Scanner = Quagga
|
|||||||
.decoder({readers: ['i2of5_reader']})
|
.decoder({readers: ['i2of5_reader']})
|
||||||
.locator({patchSize: 'small', halfSample: false});
|
.locator({patchSize: 'small', halfSample: false});
|
||||||
|
|
||||||
eanScanner
|
/*eanScanner
|
||||||
.fromImage('../test/fixtures/ean/image-001.jpg', {size: 640})
|
.fromImage('../test/fixtures/ean/image-001.jpg', {size: 640})
|
||||||
.toPromise().then((result) => {
|
.toPromise().then((result) => {
|
||||||
console.log(result.codeResult.code);
|
console.log(result.codeResult.code);
|
||||||
@@ -25,7 +29,7 @@ i2of5Scanner
|
|||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
console.log("ITF not found!");
|
console.log("ITF not found!");
|
||||||
});
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
/* imageReader.addEventListener('processed', (result) => {
|
/* imageReader.addEventListener('processed', (result) => {
|
||||||
console.log(result);
|
console.log(result);
|
||||||
@@ -42,18 +46,14 @@ i2of5Scanner
|
|||||||
console.log(result.codeResult.code);
|
console.log(result.codeResult.code);
|
||||||
});*/
|
});*/
|
||||||
|
|
||||||
/*var videoScanner = myReader.fromVideo({
|
code128Scanner
|
||||||
constraints: {
|
.fromVideo({
|
||||||
width: 640,
|
constraints: {
|
||||||
height: 480,
|
width: 1280,
|
||||||
facingMode: "environment"
|
height: 720,
|
||||||
}
|
facingMode: "environment"
|
||||||
});
|
}
|
||||||
|
})
|
||||||
videoScanner.addEventListener('detected', (result) => {
|
.addEventListener('detected', (result) => {
|
||||||
console.log(result);
|
console.log(result);
|
||||||
});
|
});
|
||||||
|
|
||||||
videoScanner.then((result) => {
|
|
||||||
console.log(result);
|
|
||||||
}); */
|
|
||||||
|
|||||||
+28
-15
@@ -48,42 +48,52 @@ function fromImage(config, imageSrc, inputConfig={}) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/*function fromVideo(config, src) {
|
function fromVideo(config, source, inputConfig = {}) {
|
||||||
// remember last instance
|
// remember last instance
|
||||||
// check if anything but the imagesrc has changed
|
// check if anything but the imagesrc has changed
|
||||||
//
|
//
|
||||||
let sourceConfig = {
|
let sourceConfig = {
|
||||||
type : "LiveStream",
|
type: "LiveStream",
|
||||||
constraints: {
|
constraints: {
|
||||||
width: 640,
|
width: 640,
|
||||||
height: 480,
|
height: 480,
|
||||||
facingMode: "environment"
|
facingMode: "environment"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
if (source instanceof Stream) {
|
|
||||||
|
/*if (source instanceof MediaStream) {
|
||||||
// stream
|
// stream
|
||||||
} else if (source instanceof Element) {
|
} else*/ if (source instanceof Element) {
|
||||||
// video element
|
// video element
|
||||||
} else if (typeof source === 'string') {
|
} else if (typeof source === 'string') {
|
||||||
// video source
|
// video source
|
||||||
} else if (typeof source === 'object') {
|
} else if (typeof source === 'object'
|
||||||
// additional constraints
|
&& (typeof source.constraints !== 'undefined'
|
||||||
|
|| typeof source.area !== 'undefined')) {
|
||||||
|
console.log("inputConfig");
|
||||||
|
inputConfig = source;
|
||||||
} else if (!source) {
|
} else if (!source) {
|
||||||
// LiveStream
|
// LiveStream
|
||||||
}
|
}
|
||||||
config = merge({inputStream: sourceConfig}, config);
|
config = merge({}, config, {inputStream: sourceConfig}, {inputStream: inputConfig});
|
||||||
|
console.log(config);
|
||||||
|
const scanner = createScanner();
|
||||||
return {
|
return {
|
||||||
addEventListener: (eventType, cb) => {
|
addEventListener(eventType, cb) {
|
||||||
this.init(config, () => {
|
scanner.init(config, (error) => {
|
||||||
start();
|
if (error) {
|
||||||
|
console.log(error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
scanner.start();
|
||||||
});
|
});
|
||||||
Events.subscribe(eventType, cb);
|
scanner.subscribe(eventType, cb);
|
||||||
},
|
},
|
||||||
removeEventListener: (cb) => {
|
removeEventListener(eventType, cb) {
|
||||||
Events.unsubscribe(eventType, cb);
|
scanner.unsubscribe(eventType, cb);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
} */
|
}
|
||||||
|
|
||||||
let defaultScanner = createScanner();
|
let defaultScanner = createScanner();
|
||||||
|
|
||||||
@@ -97,6 +107,9 @@ function createApi(configuration = Config) {
|
|||||||
fromImage(src, conf) {
|
fromImage(src, conf) {
|
||||||
return fromImage(configuration, src, conf);
|
return fromImage(configuration, src, conf);
|
||||||
},
|
},
|
||||||
|
fromVideo(src, inputConfig) {
|
||||||
|
return fromVideo(configuration, src, inputConfig);
|
||||||
|
},
|
||||||
decoder(conf) {
|
decoder(conf) {
|
||||||
return setConfig(configuration, "decoder", conf);
|
return setConfig(configuration, "decoder", conf);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -498,6 +498,12 @@ function createScanner() {
|
|||||||
pause: function() {
|
pause: function() {
|
||||||
_stopped = true;
|
_stopped = true;
|
||||||
},
|
},
|
||||||
|
subscribe(eventName, callback) {
|
||||||
|
_events.subscribe(eventName, callback);
|
||||||
|
},
|
||||||
|
unsubscribe(eventName, callback) {
|
||||||
|
_events.unsubscribe(eventName, callback);
|
||||||
|
},
|
||||||
onDetected: function(callback) {
|
onDetected: function(callback) {
|
||||||
_events.subscribe("detected", callback);
|
_events.subscribe("detected", callback);
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user