在下是webrtc开发新手,目前遇到了个问题,翻来翻去一直没弄明白。可能英文不佳,看文档看蒙了,所以一直没找到解决方法。

 

开发环境:

node.js 搭建的服务器

目前是用socket.io做通信

 

开发目的:

A同学向B同学发起请求,B同学收到请求后,A能观看B的视频直播。

 

如果有清楚的同学麻烦告知我哈,真的麻烦大家了 O(∩_∩)O~~

 

问题描述:

目前在搭建两人视频的demo,但是在双方信号交换信息上出问题了。控制台打印出来是这样的:

请教一个问题:关于 webrtc 通信的问题

 

通信代码如下:

 1 var servers = null;
 2 localPeerConnection = new RTCPeerConnection(servers);
 3 localPeerConnection.onicecandidate = function (evt){
 4   socket.send(JSON.stringify({ "candidate": evt.candidate }));
 5 }
 6 localPeerConnection.addStream(localStream);
 7 localPeerConnection.createOffer(gotDescription, handleError);
 8 function gotDescription(evt) {
 9     localPeerConnection.setLocalDescription(evt);
10     socket.send(JSON.stringify({ "sdp": evt }));
11 }
12 socket.on('pushMessageDone', function (evt) {
13   if (!localPeerConnection){
14     console.log(1);
15       call(false);
16   }
17   var signal = JSON.parse(evt);
18   if (signal.sdp){
19       localPeerConnection.setRemoteDescription(new RTCSessionDescription(signal.sdp), function() {
20         if ( localPeerConnection.remoteDescription.type == "offer" ) {
21            localPeerConnection.onaddstream = function (evt) {
22               remoteVideo.src = URL.createObjectURL(evt.stream);
23           };
24         };
25         localPeerConnection.createAnswer(gotDescription, handleError);
26       });
27   } else {
28       localPeerConnection.addIceCandidate(new RTCIceCandidate(signal.candidate));
29     }
30 });
31 function handleError(){}
View Code

相关文章:

  • 2021-07-11
  • 2021-10-15
  • 2022-12-23
  • 2022-12-23
  • 2021-07-30
  • 2021-09-10
  • 2021-07-26
猜你喜欢
  • 2022-01-18
  • 2022-01-16
  • 2022-12-23
  • 2018-11-06
  • 2021-07-13
  • 2021-05-18
相关资源
相似解决方案