简体   繁体   English

Webrtc如何使onicecandidate在我的代码上工作

[英]Webrtc how I can make the onicecandidate work on my code

Hello guys I am very new in this webrtc and javascript I try get done a video stream but in my code the onicecandidate is never been call can some one help me where I make mistake 大家好,我是这个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);
                }
              };
        });
    });

Thanks so mush 非常感谢

well I see better some example my error was I call the peerConnection.createOffer() offsite from my video object navigator.mediaDevices.getUserMedia({ video: true }).then(stream => { // create offer here }); 好了,我看到了一个更好的例子,我的错误是我从我的视频对象navigator.mediaDevices.getUserMedia({ video: true }).then(stream => { // create offer here }); peerConnection.createOffer()异地调用了peerConnection.createOffer() navigator.mediaDevices.getUserMedia({ video: true }).then(stream => { // create offer here }); them My candidate start emited 他们我的候选人开始冒出来

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM