Audio
Este documento describe la arquitectura de la función de audio. Basado en el patrón del observador, garantiza flexibilidad para agregar o eliminar dinámicamente conexiones de audio entre participantes reales y ficticios, al tiempo que mantiene un manejo claro para los escenarios de moderación.
Participantes reales
Cada participante real tiene:
Un circular buffer (búfer de anillo) para almacenar el audio entrante.
Una list of incoming bindings, que representa a los participantes cuyo audio perciben.
El audio saliente de un participante es la suma de los flujos de audio de sus enlaces entrantes.
For example, if a user’s incoming bindings include Participant1
and Participant2
, the audio they perceive is the sum of the audio streams from those two participants.
Participantes ficticios
Se trata de entidades especializadas que pueden interactuar con la convocatoria sin representar a personas reales:
CallRecorder: Graba el audio de la llamada en un archivo.
AudioInput: Plays audio from a file or shares audio from an external source (for example, during screen sharing).
Interconexión global
Todos los participantes (reales y ficticios) están interconectados, lo que permite la transmisión y recepción de audio en función de sus configuraciones vinculantes.
Moderación: Silenciar a un participante
Cuando se emite una acción de moderación para silenciar a un participante:
Se desvincula a ese participante de todos los demás (ver enlaces rojos).
The muted participant’s audio is no longer transmitted or received by anyone.