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.]
Format sygnału kamery DV może być NTSC lub PAL, standardowy lub długi.
sterownika MSDV
Aby uzyskać format sygnału wejściowego ze sterownika MSDV, wywołaj IAMExtTransport::GetTransportBasicParameters metodę i przekaż flagę ED_TRANSBASIC_INPUT_SIGNAL. Metoda zwraca zdefiniowaną stałą wskazującą format.
Poniższy kod sprawdza format sygnału i używa tej wartości do obliczenia średniego czasu na ramkę. Tryb zmiennej odbiera stałą formatu sygnału.
LONG Mode, AvgTimePerFrame;
hr = MyDevCap.pTransport->GetTransportBasicParameters(
ED_TRANSBASIC_INPUT_SIGNAL, &Mode, NULL);
if (SUCCEEDED(hr))
{
switch (Mode)
{
case ED_TRANSBASIC_SIGNAL_525_60_SD: // NTSC SD
AvgTimePerFrame = 33; // 33 msec (29.97 FPS)
break;
case ED_TRANSBASIC_SIGNAL_525_60_SDL: // NTSC SDL
AvgTimePerFrame = 33;
break;
case ED_TRANSBASIC_SIGNAL_625_50_SD: // PAL SD
AvgTimePerFrame = 40; // 40 msec (25 FPS)
break;
case ED_TRANSBASIC_SIGNAL_625_50_SDL: // PAL SDL
AvgTimePerFrame = 40;
break;
default:
// Unknown type
AvgTimePerFrame = 33; // Default
break;
}
}
Aby uzyskać format sygnału wyjściowego, wywołaj tę samą metodę za pomocą flagi ED_TRANSBASIC_OUTPUT_SIGNAL.
sterownik UVC
Aby uzyskać format sygnału wejściowego lub wyjściowego ze sterownika UVC, wywołaj IAMStreamConfig::GetFormat na numer pin i zbadaj blok formatu wideo. (W przypadku urządzeń UVC kod przedstawiony w poprzednim przykładzie zwykle zwraca ED_TRANSBASIC_SIGNAL_UNKNOWN, więc nie jest niezawodny).
Tematy pokrewne
-
sterowanie kamery DV