Hang
Ez a dokumentum leírja a hangszolgáltatás architektúráját. A megfigyelői mintára építve rugalmasságot biztosít a valós és kitalált résztvevők közötti hangkapcsolatok dinamikus hozzáadásában vagy eltávolításában, miközben a moderálási forgatókönyvek kezelése is egyértelmű.
Valódi résztvevők
Minden valódi résztvevő rendelkezik:
Egy kör alakú puffer (RingBuffer) a bejövő hang tárolására.
A bejövő kötések listája, amely azokat a résztvevőket jelöli, akiknek a hangját érzékelik.
Egy résztvevő kimenő hangja a bejövő kötéseiből származó hangfolyamok összege.
Például, ha egy felhasználó bejövő kötései tartalmazzák a Participant1
-résztvevőt és a Participant2
-résztvevőt, akkor az általuk érzékelt hang a két résztvevőtől származó hangfolyam összege.
Kitalált résztvevők
Ezek olyan egyéni entitások, amelyek valódi személyek képviselete nélkül tudnak kapcsolatba lépni a hívással:
CallRecorder: (HívásFelvevő) Fájlként menti a hívás felvételét.
AudioInput: (Hangbemenet) Hang lejátszása fájlból vagy hangmegosztás külső forrásból (például képernyőmegosztás közben).
Globális összeköttetés
Minden résztvevő (valódi és kitalált) össze van kötve, lehetővé téve a hangátvitelt és -vételt a kötési beállításaik alapján.
Moderálás: Résztvevő elnémítása
Amikor egy moderálási művelet végrehajtásával elnémítanak egy résztvevőt:
Ez a résztvevő nem kötődik az összes többi résztvevőhöz képest (lásd a piros kötéseket).
A némított résztvevő hangját már senki sem továbbítja vagy fogadja.