Измените руководство по MDN, чтобы выполнять вызовы WebRT C "один ко многим" - PullRequest
0 голосов
/ 04 августа 2020

Сейчас август 2020 года, и я новичок в WebRT C. Я выполнил инструкции, найденные здесь , и успешно выполнил как видео, так и аудио вызовы с некоторыми дополнениями к коду.

У меня проблемы с изменением этого кода, чтобы сделать его одним- вызовы ко многим или даже вызовы многие ко многим - только видео и аудио.

То, с чего я начал, - это заменить [0] на [i]:

function handleTrackEvent(event) {
    document.getElementById("received_video").srcObject = event.streams[0];
    document.getElementById("hangup-button").disabled = false;
}

function handleTrackEvent(event, i) {
    document.getElementById("received_video").srcObject = event.streams[i];
    document.getElementById("hangup-button").disabled = false;
}

и запустите i по адресу:

function handleUserlistMsg(msg) {
    var i = 0;
    var listElem = document.querySelector(".userlistbox");

    while (listElem.firstChild) {
        listElem.removeChild(listElem.firstChild);
    }

    msg.users.forEach(function(username) {
        var item = document.createElement("li");
        item.appendChild(document.createTextNode(username));
        item.addEventListener("click", invite(event, i), false);
        listElem.appendChild(item);
        i++;
    });
}

Проблема, с которой я столкнулся в журнале консоли:

[10:00:17 AM] Error InvalidStateError: Failed to execute 'setRemoteDescription' 

on 'RTCPeerConnection': Failed to set remote answer sdp: Called in wrong state: kStable

, что мне говорит, что у меня уже есть соединение с одноранговым узлом

Итак, как мне установить несколько соединений, когда один вызывающий абонент инициирует множество участников?

1 Ответ

0 голосов
/ 03 сентября 2020

Мое решение этой проблемы было решено путем отказа от необработанного webRT C и использования https://jitsi.org Это частное, настраиваемое и надежное программное обеспечение на моем собственном сервере.

...