как сделать webRT C в reactJs - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь включить технологию webRT C в мое уже существующее reactJs приложение

. Проблема в том, что реакция не распознает API webRT C

  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);
          });

}

1 Ответ

1 голос
/ 31 января 2020

Проблема не в том, что React не распознает API WebRT C, вы не определили переменную rtcPeerConn. Кроме того, webkitRTCPeerConnection (префиксы поставщиков) не требуются для этого API, вместо этого используйте RTCPeerConnection.

Замените строку rtcPeerConn = new webkitRTCPeerConnection(configuration) на:

let rtcPeerConn = new RTCPeerConnection(configuration);
...