javascript网络摄像头在浏览器中不工作

javascript网络摄像头在浏览器中不工作,javascript,Javascript,我有一个网络摄像头的脚本,但它似乎不工作,我也没有得到任何控制台错误可以有人请帮我看看我做错了什么 Photo.js (function(){ var video = document.getElementById('video'), vendorURL = window.URL || window.webkitURL; navigator.getMedia = navigator.getUserMedia ||

我有一个网络摄像头的脚本,但它似乎不工作,我也没有得到任何控制台错误可以有人请帮我看看我做错了什么

Photo.js

    (function(){
    var video = document.getElementById('video'),
                    vendorURL = window.URL || window.webkitURL;

 navigator.getMedia = navigator.getUserMedia ||
                                                                                                                                  navigator.WebKitGetUserMedia||
                                                                                                                    navigator.msGetUserMedia;

                        navigator.getMedia({
                            video:true,
                            audio:false
                        }, function(stream) {
                            video.src = vendorURL.createObjectURL(stream);
                            video.play();
                        }, function(error) {
                            //an error occured
                            //error.code
                        });

    });
index.html

<div class="booth">
     <video id="video" width="400" height="300"></video>
   </div><!-- end booth -->

这是一把小提琴

本教程的脚本取自

看起来您已经将此代码包装在一个闭包中,除非您从某个地方专门调用它,否则它不会运行

(function(){
    // Code will not execute automatically
});
注意以下示例中最后一行的附加括号:

(function(){
    // Code will execute automatically
})();
或者,您可以将代码分配给变量并手动调用它,例如:

var func = (function(){
    // Some Code in here
});

func();

我怀疑这是您问题的根本原因,但我不能肯定您的网络摄像头代码是否正常工作,但这应该是朝着正确方向迈出的一步。

问题在于
javascript
。1) 生命不是真正的生命;您可以调用立即调用的函数表达式,方法是在关闭括号之前包含开始括号和结束括号
()
)2)
w
k
位于
navigator。WebKitGetUserMedia
应该是小写字符
navigator.WebKitGetUserMedia

(function() {
  var video = document.getElementById('video'),
    vendorURL = window.URL || window.webkitURL;

  navigator.getMedia = navigator.getUserMedia ||
    navigator.webkitGetUserMedia || /* substituted `w` for `W`, `k` for `K` */
    navigator.msGetUserMedia;

  navigator.getMedia({
    video: true,
    audio: false
  }, function(stream) {
    video.src = vendorURL.createObjectURL(stream);
    video.play();
  }, function(error) {
    console.log(error)
    //an error occured
    //error.code
  });   
}()); // added `()` before closing `)`

jsFIDLE

你在哪个浏览器中测试这个?你确定相机工作/配置好了吗?是的,它配置好了,我可以在ma FIDLE中看到它工作,但不能在ma网站上看到它为什么当前网站正在“我可以在ma FIDLE中看到它工作,但不能在ma浏览器上看到它为什么”什么意思?嗯,请访问上面的网站,我的代码与你在小提琴中的代码相同,但仍然不起作用,它说它已经贬值了;'(@ JAKE123)您检查过“代码>控制台< /代码>?<代码> GETUSEMETIAL()不再在不安全的源上工作。要使用此特性,您应该考虑将应用程序切换到安全的来源,如HTTPS。请参阅更多细节。< /代码>