Webrtc, как я могу заставить onicecandidate работать с моим кодом - PullRequest
0 голосов
/ 06 марта 2019

Здравствуйте, ребята, я очень новичок в этом webrtc и javascript. Я пытаюсь создать видеопоток, но в моем коде никогда не вызывается onicecandidate, может кто-нибудь мне помочь, когда я ошибаюсь

 $('body #call').on('click', function () {
            let receiverid = $(this).attr('data-ids');
            const peerConnection = new RTCPeerConnection(configuration);
            navigator.mediaDevices.getUserMedia({ video: true }).then(stream => {
                localStream = stream;
                localStream.getTracks().forEach((track) => {
                    peerConnection.addTrack(track, localStream);
                    localVideo.srcObject = localStream;
                });

            }).catch(err => console.log(err));
            peerConnection.createOffer()
                .then(sdp => peerConnection.setLocalDescription(sdp))
                .then(function () {
                    console.log('is emitedd offer');
                    socket.emit('onOffer', { callerid: userid, receiverid, offer: peerConnection.localDescription });
                });
            peerConnection.ontrack  = event => handleRemoteStreamAdded(event.streams[0], userid);

            peerConnection.onicecandidate = function(event) {
                if (event.candidate) {
                    console.log('emit candidate');
                  socket.emit('candidate', id, event.candidate);
                }
              };
        });
    });

Спасиботак месиво

1 Ответ

1 голос
/ 07 марта 2019

хорошо, я вижу лучше, например, моя ошибка была в том, что я вызвал peerConnection.createOffer() вне моего видеообъекта navigator.mediaDevices.getUserMedia({ video: true }).then(stream => { // create offer here }); их. Мой кандидат выбрал начало

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...