Áudio ao vivo que sobrevive a interrupções de carga, spinner centrado, saída ringback

Fixkamo-internal
Navios
26 de abril de 2026 às 23:00 UTC
Autor
kamo
Enviar
55d121c

Três correções coordenadas para o caminho de áudio em chamada: 1. AbortarError no remotoAudio.play() (visível no console de produção como "A requisição play() foi interrompida por uma nova requisição load") foi real: significava zero de áudio no alto-falante. Cada sessão foi reatribuindo o srcObject do elemento de áudio remoto compartilhado em três lugares (prime → anexar → ontrack), e cada reatribuição correu um load() que abortou o Promessa do play() anterior. SipJsSessão para possuir UM MediaStream persistente que está ligado ao elemento de áudio no Construtor e nunca reatribuiu a chamada. Faixas são adicionadas a isso fluxo como eles negociam (via getReceivers e pc.ontrack) em vez de Substituir o fluxo grossista. anexRemoteAudio () e primeRemoteAudio () defensivamente re-ligar ao nosso fluxo apenas quando uma sessão de irmãos tem roubou a ligação (caixa loopback auto-chamada), então a sessão ao vivo O áudio chega ao alto-falante. 2. O círculo de conexão-estado não estava na verdadeira horizontal do popup centro porque o botão Rejeitar ainda ocupava seu slot 60px no linha flexível mesmo após o desbotamento para opacidade 0. Alternado para absoluto posicionamento: O botão de resposta está ancorado na tradução (-50%, -50%) para o seu posição nunca depende de Rejeitar; Rejeitar está ancorado na borda direita em calc(50% + 24px) e desliza para o centro enquanto desaparece sob Está a aceitar. 3. Chamadas de saída foram silenciosas durante o período anel 1-3 s porque O caminho de mídia inicial do Asterisco nem sempre chega a um SIP do navegador cliente como áudio sonoro. Adicionado um elemento de áudio ringback separado SoftphoneProvider que toca a mesma fonte de toque enquanto isConecting && callDirection === 'outbound' &&!isInCall. Rotas através do dispositivo de colunas (não do dispositivo de toque) e utiliza alto-falanteVolume para que siga as preferências de áudio em chamada. Parar Estabelecido / falhou / cancelou. Primed durante a mesma vez clique em áudio-desbloquear para que ele possa reproduzir sem gesto do usuário cada chamada.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços