在webrtc中的navigator.webkitGetUserMedia()和NavigatorUserMediaError附近找不到对象

在webrtc中的navigator.webkitGetUserMedia()和NavigatorUserMediaError附近找不到对象,webrtc,Webrtc,当我尝试实现基本示例应用程序时,我开始学习webrtc <html> <head> </head> <body> <script type="text/javascript"> navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || na

当我尝试实现基本示例应用程序时,我开始学习webrtc

    <html> 
<head> 
</head> 
<body> 

<script type="text/javascript">
    navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia ||
    navigator.mozGetUserMedia || navigator.msGetUserMedia;
window.URL = window.URL || window.webkitURL;

navigator.getUserMedia({video: true}, function(localMediaStream) { 
  var video = document.createElement("video");
  video.autoplay = true;
  video.src = window.URL.createObjectURL(localMediaStream);
  document.body.appendChild(video);
}, function(error) {
  console.log(error);
});
</script>
</body> 
</html> 

navigator.getUserMedia=navigator.getUserMedia | | navigator.webkitGetUserMedia||
navigator.mozGetUserMedia | | navigator.msGetUserMedia;
window.URL=window.URL | | window.webkitURL;
getUserMedia({video:true},函数(localMediaStream){
var video=document.createElement(“视频”);
video.autoplay=true;
video.src=window.URL.createObjectURL(localMediaStream);
文件.正文.附件(视频);
},函数(错误){
console.log(错误);
});
我用这段代码在本地浏览器google canary中运行,我启用了peerconnection,但在我的浏览器中没有找到mediastream,但我认为它可能在我的浏览器中启用为defalut

问题是这段代码在控制台中导致NavigatorUserMediaError。我没有找到解决此问题的方法。
有人知道我的代码哪里出错了。

你是从网络服务器上运行的吗

如果从文件://URL运行它,您将得到一个NavigatorUserMediaError

我刚刚在Chrome22.0中试用了你的localhost代码,效果很好


请注意,此示例不使用RTPeerConnection,您现在不必在Chrome中启用任何标志。

我发现权限被拒绝,并在代码中输入错误函数。当我从f://URL运行文件时,error.code等于1。如何通过localhost运行?只需添加注释以澄清(同时检查我是否理解)。
getUserMedia
文件中运行时不起作用://
,但在
本地主机上运行Web服务器并从中访问文件时也可以。