NotReadableError: не удалось выделить видеопоток

Я получаю эту ошибку в Firefox 51, когда пытаюсь выполнить следующий код, и когда я выбираю свою камеру для ноутбука:

navigator.getMedia = (navigator.getUserMedia ||
  navigator.webkitGetUserMedia ||
  navigator.mediaDevices.getUserMedia ||
  navigator.msGetUserMedia);

navigator.getMedia({
    video: true,
    audio: false
  },
  function(stream) {
    if (navigator.mozGetUserMedia) {
      video.mozSrcObject = stream;
    } else {
      var vendorURL = window.URL || window.webkitURL;
      video.src = vendorURL.createObjectURL(stream);
    }
    video.play();
  },
  function(err) {
    console.log("An error occured! " + err);
  }
);

Ошибка:

NotReadableError: Failed to allocate videosource

Может кто-нибудь уточнить, что это значит? Разбита ли моя веб-камера? Вчера я использовал его с script без проблем. Он не выделяется для другого приложения.

Ответ 1

NotReadableError - это ошибка, соответствующая спецификации, NotReadableError Firefox, когда доступ к веб-камере разрешен, но невозможен.

Чаще всего это происходит в Windows, потому что веб-камера уже используется другим приложением. Firefox выдаст эту ошибку как в Windows, так и в Mac, даже если только процессы Windows получают эксклюзивный доступ к веб-камере.

Ошибка может произойти по другим причинам:

Хотя пользователь предоставил разрешение на использование соответствующих устройств, произошла аппаратная ошибка на уровне операционной системы, браузера или веб-страницы, которая препятствовала доступу к устройству.

Chrome выбрасывает TrackStartError. Это также бросает это по другим причинам. Вкладки Chrome могут использовать одно и то же устройство.

Источник: распространенные ошибки getUserMedia().

Ответ 2

Пожалуйста, убедитесь, что ваша камера не используется каким-либо другим приложением (хром, то есть или любой другой браузер). Я потратил свой день на поиски решения, и, в конце концов, выяснил, что моя камера была использована другим приложением...

Ответ 3

Может кто-нибудь уточнить, что это значит? Моя веб-камера сломана? Я использовал его из сценария только вчера без проблем. Это не относится к другому приложению.

Я столкнулся с точно такой же проблемой!

Мне стыдно! Потому что тем временем я добавил событие beforeunload, включая event.preventDefault как event.preventDefault в примере.

После удаления этого event.preventDefault все работало нормально - как и ожидалось.

Ответ 4

Я столкнулся с той же проблемой в Windows 10, другие приложения, использующие мое видеоустройство, отсутствуют. Проблема заключалась в том, что в Windows 10 в Settings-> Разрешения приложений (в левом столбце) есть настройка для микрофона и камеры (Разрешить приложениям доступ к вашему микрофону/камере), которую необходимо включить. Неважно, что вы не найдете свой браузер в списке приложений под этой настройкой, просто включите его здесь и вуаля.

Ответ 5

Сообщение getUserMedia() error: NotReadableError отображался для Chromium, но не для веб-браузера Firefox. Я также заметил, что примеры WebRTC, использующие функцию getUserMedia без доступа к микрофону, работали правильно в Chromium.

Фактически я должен был убедиться, что мой микрофон включен и выбрать правильный микрофон в настройках Chromium/Chrome. Тогда WebRTC с аудио и видео доступом работал корректно.

Если это не проблема с микрофоном, это также может быть проблема с веб-камерой, поэтому вы должны убедиться, что ваша веб-камера включена и правильно выбрана в настройках Chromium/Chrome.

Обратите внимание, что только одно приложение одновременно может использовать веб-камеру/микрофон.