1.1 KiB
1.1 KiB
MediaManager Utility
Aufgaben
- Kapselt WebRTC-/Media-APIs (
RtcPeerConnection,MediaStream). - Stellt Hilfsmethoden bereit für Offer/Answer, ICE-Kandidaten und Mikrofonzugriff.
Hauptmethoden
create_peer_connection()→ ErstelltRtcPeerConnectionmit Default-STUN.create_offer(pc)/handle_offer(pc, sdp)/handle_answer(pc, sdp)→ Asynchrone SDP-Verarbeitung.request_microphone_access()→ Lädt Audio-Stream vianavigator.mediaDevices.getUserMedia.add_stream_to_pc(pc, stream)→ Fügt Tracks via dynamischemaddTrackhinzu.add_ice_candidate(pc, candidate_json)→ Parsed JSON und ruftaddIceCandidate.stop_stream()→ Stoppt aktive Tracks.
Zustandsverwaltung
state: MediaState(enumUninitialized,Requesting,Granted,Denied,NotSupported). Dient für UI-Feedback.
TODOs
- Mehrere ICE-Server aus Config berücksichtigen.
- Fehlerbehandlung vereinheitlichen (eigene Error-Typen, Logging).
- Audio-Level-Monitoring (AnalyserNode) einbauen.
- Video-Streams unterstützen (getUserMedia-Constraints).