Javascript RTPeerConnection事件未触发

Javascript RTPeerConnection事件未触发,javascript,angular,webrtc,Javascript,Angular,Webrtc,我无法使RTPeerConnection工作。创建RTPeerConnection对象后,什么也没有发生。事件不会被触发。这是创建连接的方法: createPeerConnection() { console.log('new RtCPeerConnection with stun server.'); this.myPeerConnection = new RTCPeerConnection({stunServer}] }); console.log('Pee

我无法使RTPeerConnection工作。创建RTPeerConnection对象后,什么也没有发生。事件不会被触发。这是创建连接的方法:

createPeerConnection() {
    console.log('new RtCPeerConnection with stun server.');
    this.myPeerConnection = new RTCPeerConnection({stunServer}]
    });

    console.log('PeerConnection is ', this.myPeerConnection);

    this.myPeerConnection.onicecandidate = this.handleICECandidateEvent;
    this.myPeerConnection.ontrack = this.handleAddTrackEvent;
    this.myPeerConnection.removeTrack = this.handleRemoveStreamEvent;
    this.myPeerConnection.oniceconnectionstatechange = this.handleICEConnectionStateChangeEvent;
    // this.myPeerConnection.onicegatheringstatechange = this.handleICEGatheringStateChangeEvent;
    // this.myPeerConnection.onsignalingstatechange = this.handleSignalingStateChangeEvent;
    this.myPeerConnection.onnegotiationneeded = this.handleNegotiationNeededEvent;
  }
我在控制台中没有错误。只是什么都没发生。 当用户单击另一个用户进行连接时调用此方法:

connect() {
    console.log('Creating RTCPeerConnetion...');
    this.createPeerConnection();
    console.log('RTCPeerConnection created');
    console.log('Creating new local stream ...');
    navigator.mediaDevices.getUserMedia({ video: true, audio: true }).then((localStream) => {
      this.localVideo.nativeElement.srcObject = localStream;
      console.log('Local stream created', localStream);
    }).catch(this.handleGetUserMediaError);
  }

我使用了Firefox和Angular2,并在localhost上进行了测试。不知道这是否是原因。有什么想法吗?

我刚刚忘了像这样给peerConnection添加蒸汽:

navigator.mediaDevices.getUserMedia({ video: true, audio: true }).then((localStream) => {
      this.localVideo.nativeElement.srcObject = localStream;
      console.log('Local stream created', localStream);
      localStream.getTracks().forEach(track =>
        this.myPeerConnection.addTrack(track, localStream)
      );

仅创建连接不会引发任何事件。只有当两个对等方交换报价/答案时,才会发生这种情况。我建议您退房: