Videoaufnahme: Ein minimaler Ansatz

Die Videoaufnahme digitalisiert einen Datenstrom von Video- und Audiodaten und speichert ihn auf einer Festplatte oder einem anderen Persistentspeichergerät. In diesem Abschnitt wird beschrieben, wie Sie einer Anwendung mithilfe von drei Code-Anweisungen eine einfache Form der Videoaufnahme hinzufügen. Außerdem wird beschrieben, wie eine Erfassungssitzung beendet oder abgebrochen wird, indem Nachrichten an das Erfassungsfenster gesendet werden.

Ein AVICap-Erfassungsfenster verarbeitet die Details des Streamings von Audio- und Videoaufnahmen an AVI-Dateien. Dadurch wird ihre Anwendung von der Beteiligung am AVI-Dateiformat, der Verwaltung von Video- und Audiopuffern und dem low-level-Zugriff auf Video- und Audiogerätetreibern frei. AVICap bietet eine flexible Schnittstelle für Anwendungen. Sie können Ihrer Anwendung Videoaufnahmen hinzufügen, indem Sie nur die folgenden Codezeilen verwenden:

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

Es ist auch eine Makroschnittstelle verfügbar, die eine Alternative zur Verwendung der SendMessage-Funktion bietet und die Lesbarkeit einer Anwendung verbessert. Im folgenden Beispiel wird die Makroschnittstelle verwendet, um einer Anwendung Videoaufnahmen hinzuzufügen.

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

capDriverConnect (hWndC, 0);

capCaptureSequence (hWndC); 
 

Nachdem Ihre Anwendung ein Erfassungsfenster der FENSTERklasse AVICap erstellt und mit einem Videotreiber verbindet, kann das Erfassungsfenster Daten erfassen. An diesem Punkt kann Ihre Anwendung einfach die WM _ CAP _ SEQUENCE-Nachricht (oder das CapCaptureSequence-Makro) senden, um mit der Erfassung zu beginnen.

Mithilfe der Standardeinstellungen initiiert WM CAP SEQUENCE die Erfassung von Video- und Audioeingaben in einer _ _ Datei namens CAPTURE.AVI. Die Erfassung wird fortgesetzt, bis eines der folgenden Ereignisse eintritt:

  • Der Benutzer drückt die ESC-Taste oder eine Maustaste.
  • Ihre Anwendung beendet oder bricht den Erfassungsvorgang ab.
  • Der Datenträger wird voll.

In einer Anwendung können Sie das Streamen erfasster Daten an eine Datei beenden, indem Sie die WM _ CAP _ STOP-Nachricht (oder das CapCaptureStop-Makro) an ein Erfassungsfenster senden. Sie können den Erfassungsvorgang auch abbrechen, indem Sie die WM _ CAP _ ABORT-Nachricht (oder das CapCaptureAbort-Makro) an ein Erfassungsfenster senden.