diff --git a/app/providers/CallProvider/CallProvider.tsx b/app/providers/CallProvider/CallProvider.tsx index 04d5e32..b6c61d2 100644 --- a/app/providers/CallProvider/CallProvider.tsx +++ b/app/providers/CallProvider/CallProvider.tsx @@ -104,7 +104,7 @@ export function CallProvider(props : CallProviderProps) { /** * У нас уже есть активный звонок, игнорируем все сигналы, кроме сигналов от текущего звонка */ - if(packet.getSrc() != activeCall){ + if(packet.getSrc() != activeCall && packet.getSrc() != publicKey){ console.info("Received signal from " + packet.getSrc() + " but active call is with " + activeCall + ", ignoring"); info("Received signal for another call, ignoring"); return; @@ -201,6 +201,16 @@ export function CallProvider(props : CallProviderProps) { { urls: 'stun:stun.l.google.com:19302' } ] }); + /** + * Запрашиваем Аудио поток с микрофона и добавляем его в PeerConnection, чтобы другая сторона могла его получить и воспроизвести, + * когда мы установим WebRTC соединение + */ + const localStream = await navigator.mediaDevices.getUserMedia({ + audio: true + }); + localStream.getTracks().forEach(track => { + peerConnectionRef.current?.addTrack(track, localStream); + }); /** * Отправляем свой оффер другой стороне */