Condividi tramite


Acquisizione video: approccio minimo

L'acquisizione video digitalizza un flusso di dati video e audio e li archivia su un disco rigido o su un altro tipo di dispositivo di archiviazione permanente. Questa sezione descrive come aggiungere una semplice forma di acquisizione video a un'applicazione usando tre istruzioni di codice. Descrive anche come terminare o interrompere una sessione di acquisizione inviando messaggi alla finestra di acquisizione.

Una finestra di acquisizione AVICap gestisce i dettagli dell'acquisizione di audio e video in streaming nei file AVI. Ciò consente all'applicazione di coinvolgere il formato di file AVI, la gestione del buffer video e audio e l'accesso di basso livello dei driver di dispositivo video e audio. AVICap offre un'interfaccia flessibile per le applicazioni. È possibile aggiungere l'acquisizione video all'applicazione usando solo le righe di codice seguenti:

hWndC = capCreateCaptureWindow ( "My Own Capture Window", 
    WS_CHILD | WS_VISIBLE , 0, 0, 160, 120, hwndParent, nID);

SendMessage (hWndC, WM_CAP_DRIVER_CONNECT, 0 /* wIndex */, 0L);

SendMessage (hWndC, WM_CAP_SEQUENCE, 0, 0L);
 

È disponibile anche un'interfaccia macro che offre un'alternativa all'uso della funzione SendMessage e migliora la leggibilità di un'applicazione. Nell'esempio seguente viene usata l'interfaccia macro per aggiungere l'acquisizione video a un'applicazione.

hWndC = capCreateCaptureWindow (   "My Own Capture Window", 
    WS_CHILD | WS_VISIBLE ,   0, 0, 160, 120, hwndParent, nID);

capDriverConnect (hWndC, 0);

capCaptureSequence (hWndC); 
 

Dopo che l'applicazione crea una finestra di acquisizione della classe finestra AVICap e la connette a un driver video, la finestra di acquisizione è pronta per acquisire i dati. A questo punto, l'applicazione può semplicemente inviare il messaggio di WM_CAP_SEQUENCE (o il capCaptureSequence macro) per iniziare l'acquisizione.

Usando le impostazioni predefinite, WM_CAP_SEQUENCE avvia l'acquisizione dell'input video e audio in un file denominato CAPTURE.AVI. L'acquisizione continua fino a quando non si verifica uno degli eventi seguenti:

  • L'utente preme il tasto ESC o un pulsante del mouse.
  • L'applicazione arresta o interrompe l'operazione di acquisizione.
  • Il disco diventa pieno.

In un'applicazione è possibile arrestare lo streaming dei dati acquisiti in un file inviando il messaggio WM_CAP_STOP (o capCaptureStop macro) a una finestra di acquisizione. È anche possibile interrompere l'operazione di acquisizione inviando il messaggio di WM_CAP_ABORT (o la macro capCaptureAbort) a una finestra di acquisizione.