UNPKG

mediasfu-reactjs

Version:

mediasfu-reactjs – React 18/19 WebRTC SDK for video conferencing, webinars, broadcasts, live streaming, chat, recording, whiteboard, and AI agents. Plug-in prebuilt rooms or build fully custom UIs.

79 lines 3.14 kB
import React from "react"; import MiniCard from "./MiniCard"; import { ControlsPosition, InfoPosition, Participant, ControlMediaOptions, AudioDecibels, CoHostResponsibility, ShowAlert } from "../../@types/types"; import { Socket } from "socket.io-client"; import type { LiveSubtitle } from '../../producers/socketReceiveMethods/translationReceiveMethods'; export interface AudioCardParameters { audioDecibels: AudioDecibels[]; participants: Participant[]; socket: Socket; coHostResponsibility: CoHostResponsibility[]; roomName: string; showAlert?: ShowAlert; coHost: string; islevel: string; member: string; eventType: string; getUpdatedAllParams(): AudioCardParameters; } export interface AudioCardOptions { controlUserMedia?: (options: ControlMediaOptions) => Promise<void>; customStyle?: React.CSSProperties; name: string; barColor?: string; textColor?: string; imageSource?: string; roundedImage?: boolean; imageStyle?: React.CSSProperties; showControls?: boolean; showInfo?: boolean; videoInfoComponent?: React.ReactNode; videoControlsComponent?: React.ReactNode; controlsPosition?: ControlsPosition; infoPosition?: InfoPosition; participant: Participant; backgroundColor?: string; audioDecibels?: AudioDecibels; parameters: AudioCardParameters; cardProps?: React.HTMLAttributes<HTMLDivElement>; infoOverlayProps?: React.HTMLAttributes<HTMLDivElement>; nameContainerProps?: React.HTMLAttributes<HTMLDivElement>; nameTextProps?: React.HTMLAttributes<HTMLParagraphElement>; waveformContainerProps?: React.HTMLAttributes<HTMLDivElement>; waveformBarStyle?: React.CSSProperties; waveformBarProps?: React.HTMLAttributes<HTMLDivElement>; waveformHeights?: { silent?: number; active?: number; }; waveformDurations?: number[]; waveformBarCount?: number; renderWaveformBar?: (options: { index: number; isActive: boolean; height: number; style: React.CSSProperties; props: React.HTMLAttributes<HTMLDivElement>; }) => React.ReactNode; controlsOverlayProps?: React.HTMLAttributes<HTMLDivElement>; controlButtonProps?: { audio?: React.ButtonHTMLAttributes<HTMLButtonElement>; video?: React.ButtonHTMLAttributes<HTMLButtonElement>; }; audioEnabledIcon?: React.ReactNode; audioDisabledIcon?: React.ReactNode; videoEnabledIcon?: React.ReactNode; videoDisabledIcon?: React.ReactNode; fallbackMiniCardProps?: Partial<React.ComponentProps<typeof MiniCard>>; imageProps?: React.ImgHTMLAttributes<HTMLImageElement>; showWaveformWhenMuted?: boolean; isDarkMode?: boolean; /** Live subtitle for displaying translated speech */ liveSubtitle?: LiveSubtitle | null | (() => LiveSubtitle | null); /** Whether to show subtitles on this card */ showSubtitles?: boolean; } export type AudioCardType = (options: AudioCardOptions) => React.JSX.Element; declare const AudioCard: React.FC<AudioCardOptions>; export default AudioCard; //# sourceMappingURL=AudioCard.d.ts.map