检查客户端是否有摄像头的正确方法

时间:2018-01-16 14:08:03

标签: javascript camera client frontend

我正在构建一个网络应用程序,我需要在用户点击按钮后检查客户端是否有相机。

我目前正在使用此脚本,但它似乎无法在IE上运行。

navigator.getMedia = ( navigator.getUserMedia || // use the proper vendor prefix
                       navigator.webkitGetUserMedia ||
                       navigator.mozGetUserMedia ||
                       navigator.msGetUserMedia);

    navigator.getMedia({video: true}, function() {
      //has camera
    }.bind(this), function() {
      //no camera
    }.bind(this));

那么最好的方法是什么?

1 个答案:

答案 0 :(得分:3)

可能有问题:

navigator.getUserMedia();
  

此功能已从Web标准中删除。一些   浏览器可能仍然支持它,它正在被删除。   避免使用它并尽可能更新现有代码;看到了   本页底部的兼容性表格可指导您做出决定。   请注意,此功能可能随时停止工作。

获得通过: MDN web docs

尝试:mediaDevices.getUserMedia()作为单身人士

navigator.mediaDevices.getUserMedia(constraints)
.then(function(stream) {
  /* use the stream */
})
.catch(function(err) {
  /* handle the error */
});

即使它不是解决方案,您也可以在未来验证您的代码。

编辑:

T.J。克劳德指出,确实已弃用的navigator.getUserMedia();被列为在IE中不起作用。