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
TypeScript
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 {};