getUserMedia() не поддерживается в Chrome

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

это работало хорошо, пока я не попробовал мой веб-сайт снова. Я пробовал другой демонстрационный сайт, и ошибка была вызвана getUserMedia не поддерживается.

Версия Chrome v47.0.2526.80m 32bit

Я могу получить доступ к веб-камере, если я ввожу localhost вместо ipadress. это также работает в Firefox.

2 ответа

Решение

Chrome требует безопасного происхождения (HTTPS) для getUserMedia.

Начиная с Chrome 47, запросы getUserMedia() разрешены только из безопасного источника: HTTPS или localhost.

https://developers.google.com/web/updates/2015/10/chrome-47-webrtc?hl=en

Я не уверен, что это решит вашу проблему. Однако это может быть полезно для тех, кто изо всех сил пытается получить getUserMedia() в рабочем состоянии.

Я наткнулся на ссылку среднего размера, которая помогла мне решить эту проблему.

Перейдите по ссылке: chrome: // flags / # unsafely-Treat-insecure-origin-as-secure

Включите опцию.

Также ниже будет установлен флажок. Используйте это, чтобы предоставить ссылку на ваш HTTP-сервер.

Обратитесь к этому изображению для большей ясности

Также укажите номер порта. (В моем случае это 8000)

Источник: https://medium.com/@Carmichaelize/enabling-the-microphone-camera-in-chrome-for-local-unsecure-origins-9c90c3149339

Chrome наконец-то реализовал новый navigator.mediaDevices.getUserMedia() метод, но они добавили безопасность, которая будет предотвращать звонки с незащищенного адреса (не https или не локальные серверы)

Вы назовете это так:

var video = document.querySelector('video');
navigator.mediaDevices.getUserMedia({video:true}).then(function(mediaStream){
    window.stream = mediaStream;
    video.src = URL.createObjectURL(mediaStream);
    video.play();
});

Или вы можете использовать официальную библиотеку webRTC polyfill adpater.js.

var constraints = { video: true, audio: true };

navigator.mediaDevices.getUserMedia(constraints)
  .then(stream => video.srcObject = stream)
  .catch(e => console.error(e));
Другие вопросы по тегам