WebRT C: getUserMedia вызывает "NotFoundError" на краю - PullRequest
0 голосов
/ 18 апреля 2020

Следующий код WebRT C успешно выполняется при использовании Firefox или Chrome, но не работает при использовании Microsoft Edge:

socket.on('created', function (room) 
{
    navigator.mediaDevices.getUserMedia(streamConstraints).then(function (stream) 
    {
        localStream = stream;
        localVideo.srcObject = stream;
        isCaller = true;
        }).catch(function (err) {
        console.log('Error 1 ocurred when accessing media devices', err);
    });
});

Ошибка:

NotFoundError

Я использую этот код для установки sh видеочата 1-на-1.

Как я могу узнать, что мне нужно сделать, чтобы он также работал на Edge?

1 Ответ

1 голос
/ 18 апреля 2020
  • Сначала проверьте, правильны ли настройки мультимедиа для браузера.
  • Устраните неполадки с компонентом мультимедиа здесь https://test.webrtc.org

Заполнить пробел в совместимости Вы можете использовать адаптер. js

Для каждой версии каждого браузера, который поддерживает WebRT C, адаптер. js реализует необходимые полифилы, устанавливает имена без префиксов API и применяет любые другие изменения, необходимые для того, чтобы браузер выполнял код, записанный в спецификации WebRT C.

Чтобы использовать адаптер. js, вам необходимо включить адаптер. js на любой странице который использует API WebRT C:

Использование адаптера. js

  1. Загрузите копию последней версии адаптера. js с GitHub .
  2. Поместите его в структуру каталогов вашего сайта (например, в каталог скриптов).
  3. Включите адаптер. js в ваш проект:
  4. Напишите свой код, используя WebRT C API согласно спецификации, зная, что ваш код должен ork во всех браузерах.
  5. Имейте в виду, что даже такая хорошая шайма, как эта, не означает, что вам не нужно тестировать код в разных браузерах (и в идеале в разных версиях каждого браузера).

Узнайте больше здесь:

https://www.npmjs.com/package/webrtc-adapter

https://docs.w3cub.com/dom/webrtc_api/adapter.js/

...