Instascan: android/chrome: Videoquelle konnte nicht gestartet werden, NotReadableError

Erstellt am 10. Mai 2018  ·  7Kommentare  ·  Quelle: schmich/instascan

Ich erhalte die folgende Fehlermeldung, wenn ich versuche, getCameras() auf Chrome/Android zu erhalten

Ich verwende einen Localhost ohne https.

Uncaught (in promise) {name: "NotReadableError", message: "Could not start video source", constraint: undefined, toString: ƒ}constraint: undefinedmessage: "Could not start video source"name: "NotReadableError"toString: ƒ ()__proto__: constructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()__defineGetter__: ƒ __defineGetter__()__defineSetter__: ƒ __defineSetter__()__lookupGetter__: ƒ __lookupGetter__()__lookupSetter__: ƒ __lookupSetter__()get __proto__: ƒ __proto__()set __proto__: ƒ __proto__()
step @ instascan.js:44
(anonymous) @ instascan.js:54
Promise.then (async)
step @ instascan.js:51
(anonymous) @ instascan.js:59
F @ instascan.js:416
(anonymous) @ instascan.js:38
start @ instascan.js:23709
getCameras @ QRScan.vue?54e3:51
Promise.then (async)
mounted @ QRScan.vue?54e3:68
callHook @ vue.esm.js?65d7:2921
insert @ vue.esm.js?65d7:4158
invokeInsertHook @ vue.esm.js?65d7:5960
patch @ vue.esm.js?65d7:6179
Vue._update @ vue.esm.js?65d7:2670
updateComponent @ vue.esm.js?65d7:2788
get @ vue.esm.js?65d7:3142
run @ vue.esm.js?65d7:3219
flushSchedulerQueue @ vue.esm.js?65d7:2981
(anonymous) @ vue.esm.js?65d7:1837
flushCallbacks @ vue.esm.js?65d7:1758

Hilfreichster Kommentar

Ich hatte einen ähnlichen Fehler in meinem Projekt (nicht im Zusammenhang mit instascan) in Chrome Android.
Der Fehler trat auf, als ich versuchte, die Kameras zu wechseln.
Die Lösung für mich war, alle Tracks in einem aktiven Stream zu stoppen, bevor ich einen neuen akquiriere

if(this.lastStream) {
  this.lastStream.getTracks().forEach(track => track.stop()) 
}

danach ist der fehler weg

Alle 7 Kommentare

Ich habe ein selbstsigniertes Zertifikat hinzugefügt, sodass es https://localhost :8443 verwendet, aber das hat das Problem nicht behoben.

Dies ist nur bei Android 7 ein Problem.

Ich habe das gleiche Problem mit der Android-Version 4.1.2. Frontcam ist kein Problem, Backcam gibt mir den gleichen Fehler.

Bei allen von mir getesteten Browsern tritt das gleiche Problem auf.

Habt ihr eine Lösung gefunden Jungs?

Ich hatte einen ähnlichen Fehler in meinem Projekt (nicht im Zusammenhang mit instascan) in Chrome Android.
Der Fehler trat auf, als ich versuchte, die Kameras zu wechseln.
Die Lösung für mich war, alle Tracks in einem aktiven Stream zu stoppen, bevor ich einen neuen akquiriere

if(this.lastStream) {
  this.lastStream.getTracks().forEach(track => track.stop()) 
}

danach ist der fehler weg

Ich hatte einen ähnlichen Fehler in meinem Projekt (nicht im Zusammenhang mit instascan) in Chrome Android.
Der Fehler trat auf, als ich versuchte, die Kameras zu wechseln.
Die Lösung für mich war, alle Tracks in einem aktiven Stream zu stoppen, bevor ich einen neuen akquiriere

if(this.lastStream) {
  this.lastStream.getTracks().forEach(track => track.stop()) 
}

danach ist der fehler weg

Für diejenigen, die sich fragen, wo die Bahnen anhalten, ist es kurz vor navigator.mediaDevices.getUserMedia .

Danke @Kukunin.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

CarlosSanMartin picture CarlosSanMartin  ·  8Kommentare

schmich picture schmich  ·  13Kommentare

werthdavid picture werthdavid  ·  5Kommentare

mairh picture mairh  ·  8Kommentare

itdpong picture itdpong  ·  5Kommentare