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.