UNPKG

react-video-call

Version:

ReactVideoCall is a simple yet powerful WebRTC-based video call component for React. It uses Firebase for signaling and supports both desktop and mobile views with minimal setup.

34 lines (33 loc) 1.28 kB
import { RefObject } from "react"; import { FirebaseWrapper } from "./firebaseLib"; import { Unsubscribe } from "firebase/firestore"; import { FirebaseOptions } from "firebase/app"; type OnUpdateStateCalBack = (state: RTCPeerConnectionState, event: Event) => void; export interface Idevice { value: string; label: string; data: MediaDeviceInfo; } export declare class WebRTCManager { ref: string; fireBaseDb: FirebaseWrapper; peerConnection: RTCPeerConnection; localStream?: MediaStream; remoteStream?: MediaStream; onStateChange?: OnUpdateStateCalBack; localVidEle: RefObject<HTMLVideoElement>; remortVidEle: RefObject<HTMLVideoElement>; roomUnSub?: Unsubscribe; roomRole?: "owner" | "joiner"; constructor(firebaseConfig: FirebaseOptions, localVidEle: RefObject<HTMLVideoElement>, remortVidEle: RefObject<HTMLVideoElement>, RTCConfiguration: RTCConfiguration); joinOrStartRoom(name: string): Promise<void>; onRemortTrack(event: RTCTrackEvent): void; getDevices(): Promise<{ audioDevices: Idevice[]; videoDevices: Idevice[]; }>; selectDevice(camera: string | undefined, mic: string | undefined): Promise<void>; disconnectAll(): void; muteMic(isMiute: boolean): void; } export {};