Я начал с чата на основе webrt c и хотел добавить поддержку голосовых вызовов. Используя приведенный ниже код, я могу разговаривать по аудиовызову между первыми двумя участниками разговора, однако, похоже, ничего не передает третьему присоединяющемуся человеку (между прочим, невероятно сложно протестировать этот сценарий в одиночку на двух компьютерах). Я все еще не уверен в понимании , mediastream и трека, так что я действительно мог бы использовать вашу помощь! Мое решение имеет только одноранговые соединения между участниками и нет централизованного сервера, кроме сервера сигнализации.
main.inboundStream = new MediaStream();
...
pc.ontrack = ev => {
main.inboundStream.addTrack(ev.track)
if (document.getElementById('remAudio').srcObject === null) {
document.getElementById('remAudio').srcObject = main.inboundStream
}
}
if (typeof(main.localStream) === "undefined"){
main.localStream = await navigator.mediaDevices.getUserMedia({video: false, audio: true});
}
main.localStream.getTracks().forEach(track => mainconnection.conn.addTrack(track, main.localStream));