Udostępnij przez


Obiekty multimediów DirectX

[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.]

Nuta

Obiekty DMO zostały zastąpione przez Media Foundation Transforms (MFTs). Interfejsy DMO są nadal obsługiwane. Jeśli jednak piszesz niestandardowy koder koderowy lub wtyczkę przetwarzania audio/wideo, należy rozważyć zaimplementowanie go jako MFT.

 

Obiekty multimediów DirectX (DMO) są składnikami przesyłania strumieniowego danych opartymi na modelu COM. Pod pewnymi względami obiekty DMO są podobne do filtrów Microsoft DirectShow. Podobnie jak w przypadku filtrów DirectShow, obiekty DMO pobierają dane wejściowe i używają ich do tworzenia danych wyjściowych. Jednak interfejsy programowania aplikacji (API) dla obiektów DMO są znacznie prostsze niż odpowiednie interfejsy API dla DirectShow. W rezultacie obiekty DMO są łatwiejsze do tworzenia, testowania i używania. Obiekty DMO mogą być używane w wielu scenariuszach:

  • Aplikacje oparte na DirectShow mogą używać obiektów DMO za pomocą filtru DirectShow o nazwie filtru otoki DMO. Rozróżnienie filtrów i obiektów DMO jest niewidoczne dla aplikacji. Aplikacja nie wywołuje bezpośrednio interfejsów API DMO.
  • Aplikacje oparte na microsoft DirectSound mogą używać efektów dźwiękowych DMO. Ponownie aplikacja jest chroniona przed interfejsami API DMO niskiego poziomu za pomocą interfejsów API DirectSound wyższego poziomu.
  • Aplikacje mogą używać obiektów DMO bezpośrednio.

W związku z tym, pisząc DMO, należy utworzyć składnik, który może być używany w wielu aplikacjach. Ta dokumentacja zawiera następujące sekcje:

DirectShow