Vidtreo
Referencia de API

Referencia de Tipos

Definiciones de tipos TypeScript para el SDK VIDTREO.

Referencia de Tipos

Todos los tipos TypeScript exportados por los paquetes del SDK VIDTREO.

Tipos Principales

RecordingState

type RecordingState = 'idle' | 'countdown' | 'recording';

SourceType

type SourceType = 'camera' | 'screen';

RecordingStopResult

interface RecordingStopResult {
  recordingId: string;  // Identificador único de grabación
  uploadUrl: string;    // URL directa al video
  blob: Blob;           // Blob de video local
}

AvailableDevices

interface AvailableDevices {
  video: MediaDeviceInfo[];  // Cámaras disponibles
  audio: MediaDeviceInfo[];  // Micrófonos disponibles
}

Tipos de Configuración

VidtreoRecorderConfig

interface VidtreoRecorderConfig {
  apiKey: string;
  apiUrl?: string;
  enableSourceSwitching?: boolean;
  enableMute?: boolean;
  enablePause?: boolean;
  enableDeviceChange?: boolean;
  maxRecordingTime?: number;
  countdownDuration?: number;
  userMetadata?: Record<string, unknown>;

  onUploadComplete?: (result: UploadCompleteResult) => void;
  onUploadProgress?: (progress: number) => void;
  onUploadError?: (error: Error) => void;
  onRecordingStart?: () => void;
  onRecordingStop?: () => void;
  onError?: (error: Error) => void;
}

Tipos de React

VidtreoRecorderState

interface VidtreoRecorderState {
  recordingState: RecordingState;
  stream: MediaStream | null;
  isMuted: boolean;
  isPaused: boolean;
  error: string | null;
  countdown: number | null;
  timer: string;
  uploadProgress: number | null;
  isInitialized: boolean;
  recordedBlob: Blob | null;
  devices: {
    cameras: MediaDeviceInfo[];
    microphones: MediaDeviceInfo[];
    selectedCamera: string | null;
    selectedMic: string | null;
  };
}

VidtreoRecorderActions

interface VidtreoRecorderActions {
  startRecording(sourceType?: SourceType): Promise<void>;
  stopRecording(): Promise<RecordingStopResult>;
  pauseRecording(): void;
  resumeRecording(): void;
  toggleMute(): void;
  switchSource(sourceType: SourceType): Promise<void>;
  changeCamera(deviceId: string): Promise<void>;
  changeMic(deviceId: string): Promise<void>;
  startPreview(sourceType?: SourceType): Promise<void>;
  downloadVideo(): void;
  cleanup(): void;
}

Importando Tipos

// Del Core SDK
import type {
  VidtreoRecorderConfig,
  RecordingState,
  SourceType,
  RecordingStopResult,
  AvailableDevices,
} from '@vidtreo/recorder';

// Del paquete React
import type {
  VidtreoRecorderProps,
  VidtreoRecorderState,
  VidtreoRecorderActions,
  PartialTranslations,
} from '@vidtreo/recorder-react';

En esta página