Search code examples
javascriptfirefoxhtml5-audio

Firefox: navigator.getUserMedia is not a function


I'm playing with browser and audio.

I'm doing this

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

But, using latest FF available I got a javascript error, saying that

navigator.getUserMedia is not a function

I copied this code from this blog post: https://blog.groupbuddies.com/posts/39-tutorial-html-audio-capture-streaming-to-nodejs-no-browser-extensions

And similar on latest Chrome:

Uncaught TypeError: undefined is not a function

But I know that this api is supported from both browser

What am I doing wrong?


Solution

  • Navigator.getUserMedia() is deprecated, advised to use MediaDevices.getUserMedia()

    async function getMedia(pc) {
      let stream = null;
    
      try {
        stream = await navigator.mediaDevices.getUserMedia(constraints);
        /* use the stream */
      } catch(err) {
        /* handle the error */
      }
    }