Referencia de API
API de VidtreoRecorder
Referencia completa de la API de la clase VidtreoRecorder.
API de VidtreoRecorder
La clase VidtreoRecorder es el núcleo del SDK VIDTREO. Maneja toda la funcionalidad de grabación, transcodificación y subida.
Constructor
new VidtreoRecorder(config: VidtreoRecorderConfig)Opciones de Configuración
| Opción | Tipo | Requerido | Por Defecto | Descripción |
|---|---|---|---|---|
apiKey | string | Sí | - | Tu API key de VIDTREO |
apiUrl | string | No | https://core.vidtreo.com | Endpoint de la API |
enableSourceSwitching | boolean | No | true | Permitir cambio cámara/pantalla |
enableMute | boolean | No | true | Habilitar funcionalidad de silencio |
enablePause | boolean | No | true | Habilitar pausar/reanudar |
enableDeviceChange | boolean | No | true | Habilitar selección de dispositivos |
maxRecordingTime | number | No | undefined | Duración máxima (ms) |
countdownDuration | number | No | 3000 | Cuenta regresiva (ms) |
userMetadata | object | No | undefined | Metadatos personalizados |
onUploadComplete | function | No | - | Callback de éxito de subida |
onUploadProgress | function | No | - | Callback de progreso |
onUploadError | function | No | - | Callback de error de subida |
onRecordingStart | function | No | - | Callback de inicio de grabación |
onRecordingStop | function | No | - | Callback de fin de grabación |
onError | function | No | - | Callback de error |
Métodos
initialize()
Inicializa el grabador. Debe llamarse antes que otros métodos.
await recorder.initialize(): Promise<void>startPreview()
Inicia la vista previa de cámara o pantalla sin grabar.
await recorder.startPreview(sourceType?: SourceType): Promise<MediaStream>startRecording()
Inicia la grabación desde cámara o pantalla.
await recorder.startRecording(
options?: RecordingStartOptions,
sourceType?: SourceType
): Promise<void>stopRecording()
Detiene la grabación e inicia la subida.
await recorder.stopRecording(): Promise<RecordingStopResult>switchSource()
Cambia entre cámara y pantalla durante la grabación.
await recorder.switchSource(sourceType: SourceType): Promise<void>muteAudio() / unmuteAudio() / toggleMute()
Controla el silenciado de audio.
recorder.muteAudio(): void
recorder.unmuteAudio(): void
recorder.toggleMute(): voidpauseRecording() / resumeRecording()
Controla el estado de pausa de la grabación.
recorder.pauseRecording(): void
recorder.resumeRecording(): voidgetRecordingState()
Obtiene el estado actual de grabación.
recorder.getRecordingState(): RecordingState
// Retorna: 'idle' | 'countdown' | 'recording'getStream()
Obtiene el stream de medios actual.
recorder.getStream(): MediaStream | nullgetAvailableDevices()
Obtiene cámaras y micrófonos disponibles.
await recorder.getAvailableDevices(): Promise<AvailableDevices>cleanup()
Libera todos los recursos.
recorder.cleanup(): voidEjemplo
import { VidtreoRecorder } from '@vidtreo/recorder';
const recorder = new VidtreoRecorder({
apiKey: 'tu-api-key',
maxRecordingTime: 300000,
onUploadComplete: (result) => {
console.log('URL del Video:', result.uploadUrl);
},
onError: (error) => {
console.error('Error:', error);
}
});
await recorder.initialize();
const stream = await recorder.startPreview('camera');
document.querySelector('video').srcObject = stream;
await recorder.startRecording();
const result = await recorder.stopRecording();
recorder.cleanup();Ver También
- API de Hooks — Referencia de hooks de React
- Referencia de Tipos — Tipos de TypeScript
- Guía de Vanilla JS — Guía de integración