Udostępnij przez


Minimalne wymagania dotyczące dmo

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

Każde dmo powinno spełniać następujące minimalne wymagania:

  • Musi obsługiwać agregację.
  • Musi uwidocznić interfejsIMediaObject.
  • Model wątkowania musi mieć wartość "oba". Obiekty DMO muszą działać poprawnie w środowisku bezwątkowy.

Obiekty DMO efektów dźwiękowych powinny obsługiwać interfejs IMediaObjectInPlace do użycia w directMusic i DirectSound.

Poniższe interfejsy są udokumentowane gdzie indziej, ale są przydatne w przypadku wielu obiektów DMO. Nie są one jednak wymagane.

  • ISpecifyPropertyPages, IPropertyPage: te interfejsy umożliwiają funkcji DMO udostępnienie strony właściwości dla użytkownika w celu ustawienia właściwości.
  • IPersistStream: ten interfejs umożliwia funkcji DMO zapisywanie stanu w magazynie trwałym.
  • IAMStreamConfig, IAMVideoCompression: te interfejsy umożliwiają klientowi skonfigurowanie formatu danych wyjściowych i kompresji kodera. (Te dwa interfejsy są częścią interfejsu API DirectShow, ale są również zalecane w przypadku obiektów DMO).

pisanie DMO