1.2 KiB
1.2 KiB
CallControls Component
Zweck
- Steuert Anrufstart als Initiator, Mikrofonberechtigungen und Mute/Ende-Interaktionen.
Kernfunktionen
request_microphone_access(): nutztMediaManagerzum Einholen des MediaStreams und speichert ihn inlocal_mediaSignal.create_offer(): Erstellt und sendet Offer via Signaling, registriertonicecandidate&ontrack.mute / end: Lokalen Zustand aktualisieren, PeerConnection schließen.
Signalübersicht
mic_granted,audio_muted,in_call: UI States.- Teilt
peer_id,remote_id,connected,websocket,peer_connection(Initiator),local_mediamit anderen Komponenten.
Workflow
- Mikrofon freigeben → Tracks werden zur PeerConnection hinzugefügt.
- Anruf starten → PeerConnection erzeugen, Offer senden, auf Answer warten.
- Mute/Unmute → Aktuell nur UI-State, TODO: Track-
enabledtoggeln. - Anruf beenden → PeerConnection schließen, Signals resetten.
TODOs
- Realer Mute/Unmute über
MediaStreamTrack.enabled. - Visuelle Feedback-Elemente (Button-States im Discord-Stil).
- Device-Auswahl (Audio Output/Input) vor dem Start.
- Error-Toasts (z. B. wenn Offer scheitert).