Я чувствую себя застрявшим в WebRTC. Я просто пытаюсь подключить фиктивное одноранговое соединение, но удаленное соединение ничего не получает. Проблема в том, что функция ontrack не запускается, и я понятия не имею, почему? Как я могу заставить это работать?
Он не работает на Chromium и Firefox одновременно
var localVideo = document.querySelector('#local'),
remoteVideo = document.querySelector('#remote'),
localConnection,remoteConnection;
if (hasUserMedia()){
navigator.getUserMedia({video: true, audio:false},function(stream){
localVideo.srcObject = stream;
if (hasRTCPeerConnection()){
startPeerConnection(stream);
} else {
alert("WebRTC not supported!");
}
},function(error){
alert("Camera capture failed!")
});
} else {
alert("WebRTC not supported!");
}
function startPeerConnection(stream){
var configuration ={
offerToReceiveAudio: true,
offerToReceiveVideo: true
}
localConnection = new RTCPeerConnection(configuration);
remoteConnection = new RTCPeerConnection(configuration);
stream.getTracks().forEach(
function(track) {
localConnection.addTrack(
track,
stream
);
}
);
remoteConnection.ontrack = function(e){
remoteVideo.srcObject = e.streams[0];
};
localConnection.onicecandidate = function(event){
if (event.candidate){
remoteConnection.addIceCandidate(new RTCIceCandidate(event.candidate));
}
};
remoteConnection.onicecandidate = function(event){
if (event.candidate){
localConnection.addIceCandidate(new RTCIceCandidate(event.candidate));
}
};
localConnection.createOffer(function(offer){
localConnection.setLocalDescription(offer);
remoteConnection.setRemoteDescription(offer);
remoteConnection.createAnswer(function(offer){
remoteConnection.setLocalDescription(offer);
localConnection.setRemoteDescription(offer);
});
});
}