Не могу понять в чем проблема после установления пиров peerConnection.addTrack срабатывает только на getUsermediaDevice, если пытаюсь добавить трек не важно от чего от канвас, ютуб, или аудио, то событие на установленом пире другого компьютора не срабатывает, в чем может быть проблема, если коротко то те треки которые вызывают события добавляю так
for (const track of app.localStream.getTracks()) {
peerConnection.addTrack(track, app.localStream);
}
но точно так же и другие
for (const pc in this.peerConnections) {
for (const track of stream.getAudioTracks()) {
console.log(track);
this.peerConnections[pc].addTrack(track, stream);
}
}
вот например код которые срабатыват в браузере который был первый в пире и получил предложение
[JS]
socket.on('ready', (id) => {
try{
const peerConnection = new RTCPeerConnection(config);
app.peerConnections[id] = peerConnection;
for (const track of app.localStream.getTracks()) {
peerConnection.addTrack(track, app.localStream);
}
peerConnection.createOffer()
.then(sdp => peerConnection.setLocalDescription(sdp))
.then(function () {
socket.emit('offer', id, peerConnection.localDescription);
});
peerConnection.ontrack = (event) => app.RemoteTrackAdded(event.streams, id);
peerConnection.onicecandidate = (event) =>{
if (event.candidate) {
socket.emit('candidate', id, event.candidate);
}
};
}catch(e){console.log(e)}
});
и по идее так как в браузере есть объект пира то RemoteTrackAdded должен срабатывать на события добавления треков