Vidtreo
Referência da API

Referência de Tipos

Definições de tipos TypeScript para o SDK VIDTREO.

Referência de Tipos

Todos os tipos TypeScript exportados pelos pacotes do SDK VIDTREO.

Tipos Principais

RecordingState

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

SourceType

type SourceType = 'camera' | 'screen';

RecordingStopResult

interface RecordingStopResult {
  recordingId: string;  // Identificador único da gravação
  uploadUrl: string;    // URL direta para o vídeo
  blob: Blob;           // Blob de vídeo local
}

AvailableDevices

interface AvailableDevices {
  video: MediaDeviceInfo[];  // Câmeras disponíveis
  audio: MediaDeviceInfo[];  // Microfones disponíveis
}

Tipos de Configuração

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 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

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

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

Nesta página