Chrome更新-无法在“ URL”上执行“ createObjectURL”

时间:2018-12-05 06:22:54

标签: javascript

我正在从网络摄像头拍摄图像并将其存储到服务器。一切正常,直到今天我得到了chrome更新。我最新的Chrome版本是:

  

版本71.0.3578.80(64位)

此行抛出错误:

camera.src = window.URL.createObjectURL(stream);  
  

无法在“ URL”上执行“ createObjectURL”:找不到函数   与提供的签名相匹配。

根据此链接here。我应用了代码

try {
  this.srcObject = stream;
} catch (error) {
  this.src = window.URL.createObjectURL(stream);
}

它不显示相机供稿。

供参考-此jsfiddle代码在我的Chrome浏览器上不再起作用。

4 个答案:

答案 0 :(得分:16)

它刚刚从当前版本的Chrome中删除。更新后,我突然开始收到此错误。我不知道为什么它在今天之前从未打印过弃用警告。

现在应该将src属性直接设置为流,而不是将URL.createObjectURL(stream)属性设置为srcObject。它似乎可以在Chrome和Firefox中使用。

来源:https://developers.google.com/web/updates/2018/10/chrome-71-deps-rems

答案 1 :(得分:3)

在chrome中,如果您使用它,则可以正常使用

video.srcObject = stream;

代替:

this.srcObject = stream;

See printscreen here

答案 2 :(得分:3)

您尝试过吗?

try {
  camera.srcObject = stream;
} catch (error) {
  camera.src = window.URL.createObjectURL(stream);
}

答案 3 :(得分:2)

自google更新71版以来,就产生了此问题。我也面临这个问题。但是现在我找到了解决方案。解决方法如下:

替换

videoElement.src = URL.createObjectURL(screenStream);

videoElement.srcObject = screenStream;