javascript – Firefox:navigator.getUserMedia不是一个函数

我正在玩浏览器和音频.

我这样做

var session = {
          audio: true,video: false
        };
        var recordRTC = null;
        navigator.getUserMedia(session,initializeRecorder,onError);

但是,使用最新的FF可用,我得到了一个javascript错误,说

navigator.getUserMedia is not a function

我从这篇博文中复制了这段代码https://blog.groupbuddies.com/posts/39-tutorial-html-audio-capture-streaming-to-nodejs-no-browser-extensions

在最新的Chrome上类似:

Uncaught TypeError: undefined is not a function

但我知道这两个浏览器都支持这个api

我究竟做错了什么?

解决方法

它尚未被支持.见 http://caniuse.com/#search=getusermedia

您需要获取特定于浏览器的前缀并使用它.发布于another answer

navigator.getUserMedia = ( navigator.getUserMedia ||
                       navigator.webkitGetUserMedia ||
                       navigator.mozGetUserMedia ||
                       navigator.msGetUserMedia);

这会将navigator.getUserMedia设置为它检测到的任何正确的前缀版本.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...