Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

TypeError: Argument 1 is not valid for any of the 1-argument overloads of URL.createObjectURL

Ask Question

I've been using getUserMedia to access camera from the browser. I tried it on several browsers and it works except on firefox. It works on chrome,avast,opera mini. This is my code:

<button type="button" onclick="turnOn()">turn on cam</button>
function turnOn() {
     document.getElementsByTagName('video')[0].play();
     var video = document.querySelector('video')
      , canvas;
     *  generates a still frame image from the stream in the <video>
     *  appends the image to the <body>
    // use MediaDevices API
    // docs: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
    if (navigator.mediaDevices) {
      // access the web cam
       navigator.mediaDevices.getUserMedia({video: true})
      // permission granted:
        .then(function(stream) {
          video.src = window.URL.createObjectURL(stream);
          /* video.addEventListener('click', takeSnapshot); */
        // permission denied:
        .catch(function(error) {
          document.body.textContent = 'Could not access the camera. Error: ' + error.name + " " + error.message;

Hope you could help me. Thank you!

what if I put URL.createObjectURL(stream); insite <img src={URL.createObjectURL(stream) /> ? how do I can change into video.srcObject = stream? – jhon Jul 6, 2020 at 8:29 Hi @jhon - can you file a new question about that? It's a very different context than the original question, and also a full example is needed in order to answer correctly. – Dietrich Ayala Jul 7, 2020 at 23:02

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.