dnmh
dnmh

Reputation: 2135

Force getUserMedia re-prompt when using HTTPS on Firefox

I am making a simple app with two webcams that needs to work only on latest Firefox. Locally it works fine:

However, when I upload it to the server which serves the page through HTTPS, the access from the first camera is remembered and I just get two of the same streams.

Is there a way to force re-prompting on HTTPS so that the user can select the other camera, as well?

This is my code:

    function handleSuccess1(stream) {
      video1.srcObject = stream;

      navigator.mediaDevices.getUserMedia(constraints).
        then(handleSuccess2).catch(handleError);
    }

    function handleSuccess2(stream) {
      // this gets called automatically with the first stream
      // without re-prompting the user
      video2.srcObject = stream;
    }

    const constraints = {
      video: true
    };

    function handleError(error) {
      console.error(error);
    }

    navigator.mediaDevices.getUserMedia(constraints).
        then(handleSuccess1).catch(handleError);

Upvotes: 1

Views: 522

Answers (1)

Iter Ator
Iter Ator

Reputation: 9289

Use navigator.mediaDevices.enumerateDevices() to list the available cameras and/or microphones.

You can read about it in more detail here: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices

Upvotes: 1

Related Questions