javascript - 我如何访问 navigator.getUserMedia()?

标签 javascript html

我目前正在运行 Chrome 11 并尝试访问 getUserMedia 以获得 HTML5 原生音频和视频流支持,但我收到一条错误消息,指出 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>

最佳答案

最新的 Opera 桌面版本支持 getUserMedia() 看这里:http://labs.opera.com/news/2011/10/19/

这只是等待其他浏览器实现这一点的等待游戏。现在歌剧有了支持, 另一个应该很快跟进。

关于javascript - 我如何访问 navigator.getUserMedia()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5845306/

相关文章:

javascript - 使用 ASP.net 控件和 Telerik 控件禁用表

javascript - 从 php 打开时 jQuery UI 对话框不可见

javascript - 如何从 Next.js 中的 getStaticPaths 中的主机 URL 获取数据?

javascript - 由于 undefined variable ,JSLint 文件失败

html - Bootstrap 样式未在 asp.net gridview 中呈现并显示其他一些类

html - 如何制作漂亮的日期格式?

javascript - JSNlog 异常格式问题

javascript - 尝试更改 Textarea 的值(使用 Skulpt)

asp.net - 禁用 Google 工具栏自动填充

javascript - 如何在 jQuery 中创建具有 &lt;input type ="checkbox"> 的所有 id 的数组?