温馨提示:本文翻译自stackoverflow.com,查看原文请点击:javascript - how to do webRTC in reactJs
javascript reactjs webrtc openwebrtc

javascript - 如何在reactJs中执行webRTC

发布于 2020-03-31 23:29:42

我正在尝试将webRTC技术纳入我已经存在的reactJs应用程序

问题是反应无法识别webRTC API的

  Line 185:19:  'webkitRTCPeerConnection' is not defined  no-undef
  Line 191:1:   'rtcPeerConn' is not defined              no-undef
  Line 212:3:   'rtcPeerConn' is not defined              no-undef
  Line 214:62:  'rtcPeerConn' is not defined              no-undef

该功能位于功能性反应组件内

 function startSignaling(){
  displayMessage("start signaling...");
rtcPeerConn = new webkitRTCPeerConnection(configuration)  
//send ice candidate to other peer
      rtcPeerConn.onicecandidate  = function(evt){
          if(evt.candidate){
              io.emit("signal",{"type":"ice candidate","message":JSON.stringify({'candidate':evt.candidate}),room:signal_room})
              displayMessage("completed that ice candidate");
          }
      }
rtcPeerConn.onnegotiationneeded = function(){
  displayMessage("on negotiationnneded");
  rtcPeerConn.createOffer(sendLocalDesc,logerror);

}
rtcPeerConn.onaddstream = (evt,err)=>{
  displayMessage("creating  the other stream");
  if(err){
      displayMessage(err)
  }
  success2(evt.stream);
}

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;

      navigator.mediaDevices.getUserMedia({video:true,audio:true}).then(stream=>{
          success(stream);
        //  rtcPeerConn.addStream(stream);
      }).catch(err=>{
          logerror(err);
          });

}

查看更多

提问者
Mohamad Alasly
被浏览
38
Mat Sz 2020-01-31 19:44

问题不在于React无法识别WebRTC API,您没有定义rtcPeerConn变量。另外,webkitRTCPeerConnection此API不需要(供应商前缀),请RTCPeerConnection改用。

rtcPeerConn = new webkitRTCPeerConnection(configuration)替换为

let rtcPeerConn = new RTCPeerConnection(configuration);