TypeError: Аргумент 1 недопустим для любых перегрузок с 1 аргументом URL.createObjectURL - PullRequest
0 голосов
/ 06 октября 2018

Я использую getUserMedia для доступа к камере из браузера.Я попробовал это на нескольких браузерах, и это работает кроме Firefox.Работает на Chrome, Avast, Opera Mini.Это мой код:

<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;
        });
    }
}

Надеюсь, вы мне поможете.Спасибо!

1 Ответ

0 голосов
/ 06 октября 2018

Первый браузер ditect

Как определить браузер Safari, Chrome, IE, Firefox и Opera?

Firefox и некоторые браузеры скоро прекратят принимать MediaStream в качествеАргумент объекта для статического метода URL.createObjectURL, как результат обсуждений среди разработчиков.Firefox 54 будет показывать предупреждение об устаревании в консоли при обнаружении такого кода.

Как показывает пример из спецификации, свойство HTMLMediaElement.prototype.srcObject должно использоваться для установки MediaStream для элемента или.

// Don't do this
video.src = URL.createObjectURL(stream);
// Do this
video.srcObject = stream;

Обновление: предупреждение об устаревании не отображается в Firefox 54 из-за ошибки.Firefox 55 и более поздние версии будут отображать его правильно.

Обновление 2: поддержка аргументов потока была удалена в Firefox 62.

ссылка на сайт: https://www.fxsitecompat.com/en-CA/docs/2017/url-createobjecturl-stream-has-been-deprecated/

...