Audio en direct qui survit à la charge, tourne à rotation centrée, à l'entourage sortant

Fixkamo-internal
Expédié
26 avril 2026 à 23:00 UTC
Auteur
kamo
Commite
55d121c

Trois corrections coordonnées pour le chemin audio en cours d'appel: 1. AbortError sur remoteAudio.play() (visible dans la console de production en tant que "La demande de jeu() a été interrompue par une nouvelle demande de chargement") était réelle: Cela signifiait zéro audio au niveau du haut-parleur. Chaque session réaffectait la srcObject d'un élément télévisuel partagé en trois endroits (prime et attacher - sur la voie), et chaque réaffectation a effectué une charge() qui a avorté le la promesse de jeu précédent. SipJs restructurésSession pour posséder UN MediaStream persistant qui est lié à l'élément audio dans le constructeur et n'ayant jamais réaffecté à mi-appel. Les pistes sont ajoutées à cette ruisseau pendant qu'ils négocient (via getReceivers et pc.ontrack) au lieu de Remplacer le flux en gros. attacherRemoteAudio() et primeRemoteAudio() Relèvement défensifement à OUR streamer uniquement lorsque une session de frère ou sœur a volé la liaison (cas de bouclage auto-appel), donc la session en direct est L'audio atteint en fait le haut-parleur. 2. Le cercle de l'état de connexion n'était pas sur la vraie profondeur horizontale Centre parce que le bouton Reject occupait toujours son slot 60px dans le flexion ligne même après évanouissement à l'opacité 0. Passage à l'absolu Positionnement: Le bouton de réponse est ancré à la traînée (-50%, -50%), de sorte que son la position ne dépend jamais de Reject; Rejet est ancré à l'arête droite à calc (50 % x 24px) et glisse vers le centre tout en s'évanouissant sous est Accepter. 3. Les appels sortants étaient silencieux pendant la période de l'anneau 1-3 s parce que Le chemin des premiers médias d'Asterisk n'atteint pas toujours un navigateur SIP client en tant qu'audible audio. Ajout d'un élément audio à renfort séparé SoftphoneProvider qui joue la même source de sonnerie pendant est connecter - callDirection - 'outbound' - "isInCall". Voies par l'intermédiaire du dispositif de haut-parleur (et non par le dispositif de sonnerie) et les utilisations haut-parleurVolume donc il suit les préférences audio en cours d'appel. Arrêts sur Établi / échec/annulation. Primé au cours de la même seule fois clic audio-déverrouillage de sorte qu'il peut être lu sans gester l'utilisateur chaque appel.

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation