- Navios
- 26 de abril de 2026 às 22:30 UTC
- Autor
- kamo
- Enviar
- 31f3f84
Três correções coordenadas para o caminho de entrada: 1. O feedback visual ao aceitar. Clicar em Resposta deixou ambos os botões resposta, mas sem resposta — a negociação SDP leva 1-3 s antes que a chamada seja ao vivo, e a UI não deu nenhuma indicação de nada foi A acontecer. Adicionado um estado de aceitação no SoftphoneState (set in Resposta (), limpa pela sessão de acontecimentos). A sobreposição de chamadas recebidas agora se transforma ao aceitar: - o botão Rejeitar encolhe e desaparece - o botão Resposta desliza para o centro, troca verde→azul, gotas seu ícone de auscultador, e ganha um anel de progresso rotativo - os anéis de pulso no botão de resposta parar - uma etiqueta "Conectando..." desaparece em baixo Ambos os botões também estão desactivados e os eventos de ponteiro são largados de modo a duplo-clique não pode disparar rejeitar durante o voo aceite. 2. Nenhum áudio após a conexão. WebRTC aceita soluções antes do áudio remoto track foi anexado à conexão entre pares, então anexeRemoteAudio() estava escaneando getReceivers() em um momento em que nenhuma faixa existia. E por o tempo que a faixa chegou (~1-3 s mais tarde), a janela usuário-gesture teve expirado então audio.play () foi silenciosamente rejeitado pela política de reprodução automática. Duas correções: - SipJsSession.acept() agora chama primeRemoteAudio() dentro do Responder ao contexto do gesto do clique (um play() em um MediaStream vazio é suficiente para os navegadores assinalarem o elemento como activado pelo utilizador). - attachRemoteAudio () adicionalmente ganchos pc.ontrack para rastrear que chegar após Established são adicionados ao elemento de áudio na chegada, Não apenas o instantâneo no tempo estabelecido. 3. Ringtone configurado nunca tocou para chamadas de entrada. O toque Elemento foi criado no mount SoftphoneProvider mas seu primeiro play() a chamada foi num INVITE de entrada — tipicamente minutos/horas após o último gesto do usuário, então a política de reprodução automática bloqueou-o. Adicionado uma vez helper audio-desbloqueador que ouve para o primeiro clique/keydown/touchstart no documento, prime tanto o elemento ringtone quanto o remoto SIP elemento de áudio através de uma reprodução muda→pause ciclo, em seguida, remove-se. Após que, ambos os elementos são ativados pelo usuário para o resto da página vida e anéis de entrada + chamada de reprodução de áudio imediatamente.