feat: Add webcam basic support

This commit is contained in:
2026-03-30 03:10:44 +02:00
parent 727059fb52
commit b7d4bf20e3
40 changed files with 1042 additions and 296 deletions
@@ -8,6 +8,7 @@ export class VoiceConnectionFacade {
readonly isVoiceConnected = inject(RealtimeSessionFacade).isVoiceConnected;
readonly isMuted = inject(RealtimeSessionFacade).isMuted;
readonly isDeafened = inject(RealtimeSessionFacade).isDeafened;
readonly isCameraEnabled = inject(RealtimeSessionFacade).isCameraEnabled;
readonly isNoiseReductionEnabled = inject(RealtimeSessionFacade).isNoiseReductionEnabled;
readonly hasConnectionError = inject(RealtimeSessionFacade).hasConnectionError;
readonly connectionErrorMessage = inject(RealtimeSessionFacade).connectionErrorMessage;
@@ -36,10 +37,18 @@ export class VoiceConnectionFacade {
return this.realtime.getRemoteVoiceStream(peerId);
}
getRemoteCameraStream(peerId: string): MediaStream | null {
return this.realtime.getRemoteCameraStream(peerId);
}
getLocalStream(): MediaStream | null {
return this.realtime.getLocalStream();
}
getLocalCameraStream(): MediaStream | null {
return this.realtime.getLocalCameraStream();
}
getRawMicStream(): MediaStream | null {
return this.realtime.getRawMicStream();
}
@@ -52,6 +61,14 @@ export class VoiceConnectionFacade {
this.realtime.disableVoice();
}
async enableCamera(): Promise<MediaStream> {
return await this.realtime.enableCamera();
}
disableCamera(): void {
this.realtime.disableCamera();
}
async setLocalStream(stream: MediaStream): Promise<void> {
await this.realtime.setLocalStream(stream);
}