mirror of
https://github.com/serratus/quaggaJS.git
synced 2026-08-13 05:31:37 +08:00
Fixed Events; Added example for multiple types of barcodes
This commit is contained in:
@@ -50,10 +50,17 @@ export default function createEventedElement() {
|
||||
var event = getEvent(eventName),
|
||||
subscribers = event.subscribers;
|
||||
|
||||
event.subscribers = subscribers.filter(function(subscriber) {
|
||||
subscribers.filter(function(subscriber) {
|
||||
return !!subscriber.once;
|
||||
}).forEach((subscriber) => {
|
||||
publishSubscription(subscriber, data);
|
||||
});
|
||||
event.subscribers = subscribers.filter(function(subscriber) {
|
||||
return !subscriber.once;
|
||||
});
|
||||
event.subscribers.forEach((subscriber) => {
|
||||
publishSubscription(subscriber, data);
|
||||
});
|
||||
},
|
||||
once: function(event, callback, async) {
|
||||
subscribe(event, {
|
||||
|
||||
@@ -36,11 +36,12 @@ function initCamera(video, constraints) {
|
||||
.then((stream) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
streamRef = stream;
|
||||
video.src = window.URL.createObjectURL(stream);
|
||||
video.onloadedmetadata = (e) => {
|
||||
video.setAttribute("autoplay", 'true');
|
||||
video.srcObject = stream;
|
||||
video.addEventListener('loadedmetadata', (e) => {
|
||||
video.play();
|
||||
resolve();
|
||||
};
|
||||
});
|
||||
});
|
||||
})
|
||||
.then(waitForVideo.bind(null, video));
|
||||
|
||||
+1
-2
@@ -48,7 +48,7 @@ function fromImage(config, imageSrc, inputConfig = {}) {
|
||||
toPromise() {
|
||||
return new Promise((resolve, reject) => {
|
||||
scanner.decodeSingle(config, (result) => {
|
||||
if (result.codeResult && result.codeResult.code) {
|
||||
if (result && result.codeResult && result.codeResult.code) {
|
||||
return resolve(result);
|
||||
}
|
||||
return reject(result);
|
||||
@@ -80,7 +80,6 @@ function fromVideo(config, source, inputConfig = {}) {
|
||||
} else if (typeof source === 'object'
|
||||
&& (typeof source.constraints !== 'undefined'
|
||||
|| typeof source.area !== 'undefined')) {
|
||||
console.log("inputConfig");
|
||||
inputConfig = source;
|
||||
} else if (!source) {
|
||||
// LiveStream
|
||||
|
||||
@@ -69,7 +69,6 @@ function createScanner() {
|
||||
}
|
||||
|
||||
_inputStream.setAttribute("preload", "auto");
|
||||
_inputStream.setAttribute("autoplay", true);
|
||||
_inputStream.setInputStream(_config.inputStream);
|
||||
_inputStream.addEventListener("canrecord", canRecord.bind(undefined, cb));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user