Comments (5)
It's a nice feature, but maybe it's not responsability of the scanner itself. Let's discuss about the architecture we gonna take for that before taking any premature decision.
- Changing the
MediaStream
to readonly is possible. - I would not like to add more logic inside the
startDecodeFromStream
method, it is already too big. - Maybe some refactor will be needed the same way I did with the component class for v1.
let torcherFunction = stream => {
// Get track for image capture
const track = stream.getVideoTracks()[0];
// Create image capture object and get camera capabilities
const imageCapture = new ImageCapture(track)
const photoCapabilities = imageCapture.getPhotoCapabilities().then(() => {
// todo: check if camera has a torch
// let there be light!
track.applyConstraints({
advanced: [{
torch: true
}]
});
});
};
- Do we need the
imageCapture.getPhotoCapabilities
or can we work directly on thetrack
object? - Feel free to add more points. 😀
from ngx-scanner.
Sorry, as stream is being saved, only a new function is needed called setTorch. It should contain the code to set the torch on and off.
It would be better, if the startDecode function would be separated into private parts like bindSrc, bindEvents, checkTorchCombatibility (as it is needed to be checked once). A property could be saved to show torch compatibility.
setTorch checks if torch can be activated through the variable and sets on/off it.
Maybe instead of a variable an event would be better, as from the component it is easier to bind values to events.
Edit:
I would add it into the scanner, as it is really a workaround to set/get values of components in Angular. A compontent should not be modified from outside.
from ngx-scanner.
Sorry, as stream is being saved, only a new function is needed called setTorch. It should contain the code to set the torch on and off.
I like that.
I would add it into the scanner, as it is really a workaround to set/get values of components in Angular. A compontent should not be modified from outside.
I did not remember very well how their logic is separated, sorry, I gotta take a look again to see what insights I will have. xD
I work with a lot of things at the same, so sorry if I misundertood.
from ngx-scanner.
Closing as merged.
from ngx-scanner.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
from ngx-scanner.
Related Issues (20)
- Property '"autofocusEnabled"' is incompatible with index signature. HOT 2
- Cannot Scan code 93 and Codabar barcodes. No errors in the console as well
- cannot scan UPC_E barcodes
- Cannot read properties of undefined (reading stop)
- [Firefox-android] Permission issue HOT 1
- Please support Angular 17 HOT 1
- Cordova Android app
- Area of intreset feature
- Windows 11, camera shows screen stream instead
- Error reading QR code in Chrome
- when you open a scanner multiple times the CPU usage gets to 100% HOT 3
- Dependency bug
- Add Support for willReadFrequently to Optimize Canvas Readback Performance HOT 2
- ZxingScannerComponent is not releasing all resources - BrowserCodeReader still trying to decode after ngDestroy HOT 3
- ZxingScannerComponen.init method called twice when enable flag is set to true (leak once again) HOT 8
- iPadOS black screen after installation to homescreen, works on safari HOT 4
- Support v0.21.0 zxing library HOT 1
- Upgrade to Angular 18.x HOT 1
- Error al intentar implementar esta libreria en angular 17 HOT 1
- DOMException: setPhotoOptions failed when stoping scanner after upgrade from v17.0.1 to 17.0.2 or above HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ngx-scanner.