mediasfu-angular
Version:
mediasfu-angular - Angular 17/18/19 WebRTC SDK for video conferencing, webinars, broadcasts, live streaming, chat, recording, whiteboard, and AI agents. Prebuilt rooms and fully custom UIs.
73 lines (72 loc) • 4.9 kB
TypeScript
import { DoCheck, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { SwitchAudio, SwitchAudioOptions } from '../../methods/stream-methods/switch-audio.service';
import { SwitchVideo, SwitchVideoOptions } from '../../methods/stream-methods/switch-video.service';
import { SwitchVideoAlt, SwitchVideoAltOptions } from '../../methods/stream-methods/switch-video-alt.service';
import type { MediaSettingsModalParameters } from '../../components/media-settings-components/media-settings-modal/media-settings-modal.component';
import { ModernRenderMode } from '../utils/render-mode.utils';
import * as i0 from "@angular/core";
export declare class ModernMediaSettingsModalComponent implements OnInit, OnChanges, DoCheck {
private readonly switchAudioService;
private readonly switchVideoService;
private readonly switchVideoAltService;
isMediaSettingsModalVisible: boolean;
onMediaSettingsClose: () => void;
switchCameraOnPress?: (options: SwitchVideoAltOptions) => Promise<void>;
switchVideoOnPress?: (options: SwitchVideoOptions) => Promise<void>;
switchAudioOnPress?: (options: SwitchAudioOptions) => Promise<void>;
parameters: MediaSettingsModalParameters;
position: string;
backgroundColor: string;
overlayStyle?: Partial<CSSStyleDeclaration>;
contentStyle?: Partial<CSSStyleDeclaration>;
customTemplate?: TemplateRef<unknown>;
renderMode: ModernRenderMode;
showHeader: boolean;
onOpenBackgroundSidebar?: () => void;
readonly faCamera: import("@fortawesome/fontawesome-common-types").IconDefinition;
readonly faCheck: import("@fortawesome/fontawesome-common-types").IconDefinition;
readonly faMicrophone: import("@fortawesome/fontawesome-common-types").IconDefinition;
readonly faPhotoFilm: import("@fortawesome/fontawesome-common-types").IconDefinition;
readonly faSyncAlt: import("@fortawesome/fontawesome-common-types").IconDefinition;
readonly faTimes: import("@fortawesome/fontawesome-common-types").IconDefinition;
readonly faVideo: import("@fortawesome/fontawesome-common-types").IconDefinition;
activeSection: 'video' | 'audio';
liveParameters: MediaSettingsModalParameters;
selectedVideoInput: string;
selectedAudioInput: string;
prevSelectedVideoInput: string;
prevSelectedAudioInput: string;
private lastResolvedSignature;
constructor(switchAudioService: SwitchAudio, switchVideoService: SwitchVideo, switchVideoAltService: SwitchVideoAlt);
ngOnInit(): void;
ngOnChanges(_changes: SimpleChanges): void;
ngDoCheck(): void;
isVisible(): boolean;
isEmbedded(): boolean;
handleOverlayClick(): void;
handleSwitchCamera(): Promise<void>;
handleVideoSwitch(eventOrDeviceId: Event | string): Promise<void>;
handleAudioSwitch(eventOrDeviceId: Event | string): Promise<void>;
handleModalClose(): void;
showVirtual(): void;
showCameraHint(): boolean;
getDeviceLabel(device: MediaDeviceInfo, fallback: string, index: number): string;
getSectionDescription(section: 'video' | 'audio'): string;
resolvedOverlayStyle(): Record<string, string | number>;
resolvedContentStyle(): Record<string, string | number>;
private setupDefaultServices;
private refreshState;
private syncLiveParameters;
private ensureDefaultSelections;
private resolveParameters;
private createParameterSignature;
private resolveSelectedDevice;
private resolvedCameraHandler;
private resolvedVideoHandler;
private resolvedAudioHandler;
private extractDeviceId;
private resolvePositionStyle;
private normalizeStyle;
static ɵfac: i0.ɵɵFactoryDeclaration<ModernMediaSettingsModalComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<ModernMediaSettingsModalComponent, "app-media-settings-modal", never, { "isMediaSettingsModalVisible": { "alias": "isMediaSettingsModalVisible"; "required": false; }; "onMediaSettingsClose": { "alias": "onMediaSettingsClose"; "required": false; }; "switchCameraOnPress": { "alias": "switchCameraOnPress"; "required": false; }; "switchVideoOnPress": { "alias": "switchVideoOnPress"; "required": false; }; "switchAudioOnPress": { "alias": "switchAudioOnPress"; "required": false; }; "parameters": { "alias": "parameters"; "required": false; }; "position": { "alias": "position"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "overlayStyle": { "alias": "overlayStyle"; "required": false; }; "contentStyle": { "alias": "contentStyle"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; "renderMode": { "alias": "renderMode"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "onOpenBackgroundSidebar": { "alias": "onOpenBackgroundSidebar"; "required": false; }; }, {}, never, never, true, never>;
}