@kortexa-ai/react-multimodal
Version:
A set of react components and hooks to help with multimodal input
60 lines • 2.35 kB
TypeScript
import { MicrophoneControl, MicrophoneDeviceProps } from '../microphone/types';
import { CameraFacingMode, CameraControl, CameraDeviceProps } from '../camera/types';
import { HandsTrackingDeviceProps, HandsTrackingControl, HandsData } from '../hands/types';
import { BodyTrackingDeviceProps, BodyTrackingControl, BodyData } from '../body/types';
import { FaceTrackingDeviceProps, FaceTrackingControl, FaceData } from '../face/types';
export interface CompositeMediaDevice {
isAudioActive: boolean;
isVideoActive: boolean;
isHandTrackingActive?: boolean;
isBodyTrackingActive?: boolean;
isFaceTrackingActive?: boolean;
isMediaActive: boolean;
audioStream?: MediaStream;
videoStream?: MediaStream;
videoFacingMode?: CameraFacingMode;
audioError?: string;
videoError?: string;
handsError?: string;
bodyError?: string;
faceError?: string;
mediaError?: string;
currentHandsData?: HandsData;
currentBodyData?: BodyData;
currentFaceData?: FaceData;
startMedia: () => Promise<void>;
stopMedia: () => void;
toggleMedia: () => Promise<void>;
}
export interface CompositeMediaControl extends CompositeMediaDevice {
cam: CameraControl;
mic: MicrophoneControl;
hands: HandsTrackingControl;
body: BodyTrackingControl;
face: FaceTrackingControl;
setVideoElementForHands: (element: HTMLVideoElement | null) => void;
setVideoElementForBody: (element: HTMLVideoElement | null) => void;
setVideoElementForFace: (element: HTMLVideoElement | null) => void;
startHands: () => Promise<void>;
stopHands: () => void;
startBody: () => Promise<void>;
stopBody: () => void;
startFace: () => Promise<void>;
stopFace: () => void;
isStartingHands: boolean;
isStartingBody: boolean;
isStartingFace: boolean;
isVideoElementForHandsSet: boolean;
isVideoElementForBodySet: boolean;
isVideoElementForFaceSet: boolean;
}
export interface CompositeMediaDeviceProps {
microphoneProps?: MicrophoneDeviceProps;
cameraProps?: CameraDeviceProps;
handsProps?: HandsTrackingDeviceProps;
bodyProps?: BodyTrackingDeviceProps;
faceProps?: FaceTrackingDeviceProps;
startBehavior?: "proceed" | "halt";
}
export type CompositeMediaProviderProps = CompositeMediaDeviceProps;
//# sourceMappingURL=types.d.ts.map