Referência da API
API do VidtreoRecorder
Referência completa da API da classe VidtreoRecorder.
API do VidtreoRecorder
A classe VidtreoRecorder é o núcleo do SDK VIDTREO. Ela manipula toda a funcionalidade de gravação, transcodificação e upload.
Construtor
new VidtreoRecorder(config: VidtreoRecorderConfig)Opções de Configuração
| Opção | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
apiKey | string | Sim | - | Sua API key do VIDTREO |
apiUrl | string | Não | https://core.vidtreo.com | Endpoint da API |
enableSourceSwitching | boolean | Não | true | Permitir troca câmera/tela |
enableMute | boolean | Não | true | Habilitar funcionalidade de mudo |
enablePause | boolean | Não | true | Habilitar pausar/retomar |
enableDeviceChange | boolean | Não | true | Habilitar seleção de dispositivos |
maxRecordingTime | number | Não | undefined | Duração máxima (ms) |
countdownDuration | number | Não | 3000 | Contagem regressiva (ms) |
userMetadata | object | Não | undefined | Metadados personalizados |
onUploadComplete | function | Não | - | Callback de sucesso do upload |
onUploadProgress | function | Não | - | Callback de progresso |
onUploadError | function | Não | - | Callback de erro de upload |
onRecordingStart | function | Não | - | Callback de início de gravação |
onRecordingStop | function | Não | - | Callback de fim de gravação |
onError | function | Não | - | Callback de erro |
Métodos
initialize()
Inicializa o gravador. Deve ser chamado antes de outros métodos.
await recorder.initialize(): Promise<void>startPreview()
Inicia a prévia de câmera ou tela sem gravar.
await recorder.startPreview(sourceType?: SourceType): Promise<MediaStream>startRecording()
Inicia a gravação da câmera ou tela.
await recorder.startRecording(
options?: RecordingStartOptions,
sourceType?: SourceType
): Promise<void>stopRecording()
Para a gravação e inicia o upload.
await recorder.stopRecording(): Promise<RecordingStopResult>switchSource()
Troca entre câmera e tela durante a gravação.
await recorder.switchSource(sourceType: SourceType): Promise<void>muteAudio() / unmuteAudio() / toggleMute()
Controla o silenciamento de áudio.
recorder.muteAudio(): void
recorder.unmuteAudio(): void
recorder.toggleMute(): voidpauseRecording() / resumeRecording()
Controla o estado de pausa da gravação.
recorder.pauseRecording(): void
recorder.resumeRecording(): voidgetRecordingState()
Obtém o estado atual de gravação.
recorder.getRecordingState(): RecordingState
// Retorna: 'idle' | 'countdown' | 'recording'getStream()
Obtém o stream de mídia atual.
recorder.getStream(): MediaStream | nullgetAvailableDevices()
Obtém câmeras e microfones disponíveis.
await recorder.getAvailableDevices(): Promise<AvailableDevices>cleanup()
Libera todos os recursos.
recorder.cleanup(): voidExemplo
import { VidtreoRecorder } from '@vidtreo/recorder';
const recorder = new VidtreoRecorder({
apiKey: 'sua-api-key',
maxRecordingTime: 300000,
onUploadComplete: (result) => {
console.log('URL do Vídeo:', result.uploadUrl);
},
onError: (error) => {
console.error('Erro:', 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 Também
- API de Hooks — Referência de hooks React
- Referência de Tipos — Tipos TypeScript
- Guia de Vanilla JS — Guia de integração