DV (Digital Video) Capture
1. |
To begin simple digital video capturing you should create an instance of the ltmmCapture class. This is accomplished using the Win32 CoCreateInstance function as follows: |
C Source
IltmmCapture* pCapture;
CoCreateInstance(&CLSID_ltmmCapture, NULL, CLSCTX_INPROC_SERVER, &IID_IltmmCapture, (void**) &pCapture);
C++ Source
IltmmCapture* pCapture;
CoCreateInstance(CLSID_ltmmCapture, NULL, CLSCTX_INPROC_SERVER, IID_IltmmCapture, (void**) &pCapture);
2. |
Define video devices to be used as the capture source. The ltmmCapture object contains video device collection objects. |
3. |
The first video device can be selected for capture by calling the device collection’s put_Selection function: |
C Source
IltmmDevices* pDevices;
// get an interface into video devices collection
IltmmCapture_get_VideoDevices(pCapture, &pDevices);
// select the first video device
IltmmDevices_put_Selection (pDevices, 0);
// release collection
IUnknown_Release(pDevices);
C++ Source
IltmmDevices* pDevices;
// get an interface into video devices collection
pCapture->get_VideoDevices(&pDevices);
// select device
pDevices->put_Selection(0);
// release collection
pDevices->Release();
4. |
You should now start the capturing, as demonstrated with the following code: |
C Source
// start capturing
IltmmCapture_StartCapture(pCapture, ltmmCapture_Mode_VideoOrAudio);
C++ Source
// start capturing
pCapture->StartCapture (ltmmCapture_Mode_VideoOrAudio);
5. |
You should at the end stop capturing and recording, as demonstrated with the following code: |
C Source
// stop capturing
IltmmCapture_StopCapture(pCapture);
C++ Source
// stop capturing
pCapture->StopCapture ();