Instascan: android/chrome:无法启动视频源,NotReadableError

创建于 2018-05-10  ·  7评论  ·  资料来源: schmich/instascan

在 chrome/android 上尝试 getCameras() 时出现以下错误

我正在使用没有 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

最有用的评论

我在 Chrome Android 中的项目(与 instascan 无关)中遇到了类似的错误。
当我尝试切换相机时发生了错误。
我的解决方案是在获取新曲目之前停止活动流中的所有曲目

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

在那之后错误消失了

所有7条评论

我添加了一个自签名证书,因此它使用的是https://localhost :8443 但这并没有解决问题。

这仅是 android 7 上的问题。

我在 Android 4.1.2 版上遇到了同样的问题。 前凸轮没问题,后凸轮给我同样的错误。

我在我测试过的所有浏览器上都遇到了同样的问题。

各位大侠有没有找到解决办法?

我在 Chrome Android 中的项目(与 instascan 无关)中遇到了类似的错误。
当我尝试切换相机时发生了错误。
我的解决方案是在获取新曲目之前停止活动流中的所有曲目

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

在那之后错误消失了

我在 Chrome Android 中的项目(与 instascan 无关)中遇到了类似的错误。
当我尝试切换相机时发生了错误。
我的解决方案是在获取新曲目之前停止活动流中的所有曲目

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

在那之后错误消失了

对于那些想知道停止轨道在哪里的人来说,它就在navigator.mediaDevices.getUserMedia

谢谢@Kukunin。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

alexolliveira picture alexolliveira  ·  5评论

desmond0412 picture desmond0412  ·  4评论

marvinex123 picture marvinex123  ·  11评论

axed picture axed  ·  5评论

werthdavid picture werthdavid  ·  5评论