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

«Image: Audio simple view»

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

«Image: Audio simple view with specials»

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

«Image: Audio complex view»

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

«Image: Audio complex view Participant2 muted»

Cuando se emite una acción de moderación para silenciar a un participante:

  1. Se desvincula a ese participante de todos los demás (ver enlaces rojos).

  2. The muted participant’s audio is no longer transmitted or received by anyone.