我如何访问navigator.getUserMedia()?

b_d*_*b_d 16 html javascript

我目前正在运行Chrome 11并尝试访问getUserMediaHTML5本机音频和视频流支持,但我收到一条错误消息,说明navigator.getUserMedia未定义.如果它不受支持,我该如何访问它,还是需要等到Chrome合并它?

这是我用来测试getUserMedia我发现的代码

 <h1>Snapshot Kiosk</h1>
 <section id="splash">
  <p id="errorMessage">Loading...</p>
 </section>
 <section id="app" hidden>
  <p><video id="monitor" autoplay></video> <canvas id="photo"></canvas>
  <p><input type=button value="&#x1F4F7;" onclick="snapshot()">
 </section>
 <script>
  navigator.getUserMedia('video user', gotStream, noStream);
  var video = document.getElementById('monitor');
  var canvas = document.getElementById('photo');
  function gotStream(stream) {
    video.src = URL.getObjectURL(stream);
    video.onerror = function () {
      stream.stop();
      noStream();
    }
    video.onloadedmetadata = function () {
      canvas.width = video.videoWidth;
      canvas.height = video.videoHeight;
      document.getElementById('splash').hidden = true;
      document.getElementById('app').hidden = false;
    }
  }
  function noStream() {
    document.getElementById('errorMessage').textContent = 'No camera available.';
  }
  function snapshot() {
    canvas.getContext('2d').drawImage(video, 0, 0);
  }
 </script>
Run Code Online (Sandbox Code Playgroud)

ben*_*phy 3

我认为最新的 chrome 开发(12.0.742.16 dev)中有一个存根方法,但我无法让它在 Mac OSX 上执行任何操作。至少我以为我看到了。我刚查了一下,好像没有这个方法了。以下是实现 getUserMedia 的 webkit 错误报告:https://bugs.webkit.org/show_bug.cgi ?id=56586

我认为目前唯一可行的实现是 Android 版 Opera。http://my.opera.com/core/blog/2011/03/23/webcam-orientation-preview

chrome/webkit 方法是 webkitGetUserMedia 但尚未实现。