Ошибка Webrt c при запуске addIceCandidate - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь инициировать одноранговое соединение в webrt c. Я использую signalr как сигнальный сервер. При добавлении ледяного кандидата я получаю ошибку во всем браузере. Ниже ошибка и строка кода. Пожалуйста, дайте мне знать, как я могу это исправить.

Ошибка в Firefox:

InvalidStateError: Нет remoteDescription.

Ошибка в Chrome :

DOMException: Не удалось выполнить 'addIceCandidate' на 'RTCPeerConnection': Ошибка обработки кандидата ICE

Код:

if (signal.ice) {
       console.log(signal.ice);
       peerConnections.addIceCandidate(new RTCIceCandidate(signal.ice)).catch(errorHandler.message);
}

1 Ответ

0 голосов
/ 29 мая 2020

Вам не нужно строить новый объект-кандидат на лед. Достаточно просто добавить signal.ice в качестве кандидата на лед. Вот пример из официального руководства webrt c

signalingChannel.addEventListener('message', async message => {
    if (message.iceCandidate) {
        try {
            await peerConnection.addIceCandidate(message.iceCandidate);
        } catch (e) {
            console.error('Error adding received ice candidate', e);
        }
    }
});
...