Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Funkcja skojarzona z tą stroną, DirectShow, jest starszą funkcją. Został zastąpiony przez MediaPlayer, IMFMediaEnginei Audio/Video Capture w Media Foundation. Te funkcje zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał MediaPlayer, IMFMediaEngine i Audio/Video Capture w programie Media Foundation zamiast DirectShow, jeśli to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]
Kamery IEEE 1394 i USB mogą przełączać się między trybem kamery a rejestratorem taśm wideo (VTR). Gdy camcorder IEEE 1394 przełącza tryby, urządzenie zostanie zresetowane i aplikacja musi go ponownie wyliczyć. Nie ma możliwości programowego przełączania trybu przez aplikację. Z drugiej strony kamery USB mogą przełączać się między trybami kamery i VTR bez resetowania, a aplikacja może zmienić tryb.
sterownika MSDV
Aby uzyskać bieżący tryb na urządzeniu IEEE 1394, wywołaj metodę IAMExtDevice::GetCapability z wartością ED_DEVCAP_DEVICE_TYPE. Jeśli metoda zwraca wartość ED_DEVTYPE_VCR, urządzenie jest w trybie VTR i ma funkcje takie jak wstrzymanie, zatrzymywanie, szybkie przewijanie i przewijanie. W przeciwnym razie, jeśli metoda zwróci ED_DEVTYPE_CAMERA, urządzenie jest w trybie aparatu. W poniższym przykładzie kodu pokazano, jak wykonywać zapytania dotyczące typu urządzenia:
if (MyDevCap.bHasDevice)
{
LONG lDeviceType = 0;
MyDevCap.pDevice->GetCapability(ED_DEVCAP_DEVICE_TYPE, &lDeviceType, 0);
if (lDeviceType == ED_DEVTYPE_VCR)
{
// Device is a VTR. Enable all VTR functions.
}
else
{
// Device is a camera.
// Enable record and record-pause; disable other functions.
}
}
Jeśli camcorder przejdzie w tryb offline, należy wykonać zapytanie ponownie po następnym udostępnieniu. Menedżer wykresów filtrów publikuje zdarzenie EC_DEVICE_LOST po usunięciu urządzenia.
sterownik UVC
Ponieważ urządzenia wideo USB mogą przełączać tryby bez resetowania, kod przedstawiony w poprzednich przykładach nie jest niezawodny dla urządzeń USB. Zamiast tego użyj interfejsu ISelector, aby uzyskać bieżący tryb. Możesz również użyć tego interfejsu, aby programowo przełączać tryby, jeśli urządzenie go obsługuje.
Tematy pokrewne
-
sterowanie kamery DV