Sobes.tech
Middle

Conte-nos mais sobre o seu trabalho com WebRTC e chamadas na UrbanMedic

sobes.tech IA

Resposta da IA

No projeto UrbanMedic, trabalhei na integração do WebRTC para implementar chamadas de vídeo entre pacientes e médicos. As principais tarefas incluíam configurar conexões peer-to-peer, gerir sinais através de um servidor de sinalização e garantir a estabilidade da ligação em condições de internet instáveis.

Para isso, utilizei a API WebRTC para criar RTCPeerConnection, gerir candidatos ICE e trocar mensagens SDP. Também implementei lógica de novas tentativas de conexão e monitorização da qualidade da ligação.

Exemplo de código simplificado para criar uma conexão:

const peerConnection = new RTCPeerConnection(configuration);

// Adicionar fluxo de mídia local
navigator.mediaDevices.getUserMedia({ video: true, audio: true })
  .then(stream => {
    stream.getTracks().forEach(track => peerConnection.addTrack(track, stream));
  });

// Lidar com candidatos ICE entrantes
peerConnection.onicecandidate = event => {
  if (event.candidate) {
    sendCandidateToRemote(event.candidate);
  }
};

// Criar oferta
peerConnection.createOffer()
  .then(offer => peerConnection.setLocalDescription(offer))
  .then(() => sendOfferToRemote(peerConnection.localDescription));

Esta experiência permitiu-me compreender melhor o funcionamento do WebRTC e garantir uma comunicação de qualidade na aplicação.