Share via


필수 인터페이스(Windows 미디어 플레이어 SDK)

[이 페이지와 연결된 기능인 Windows 미디어 플레이어 SDK는 레거시 기능입니다. MediaPlayer로 대체되었습니다. MediaPlayer는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 Windows 미디어 플레이어 SDK 대신 MediaPlayer를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

Windows 미디어 플레이어 다음 파이프라인 중 하나를 사용하여 오디오 및 비디오를 렌더링합니다.

  • Directshow
  • 미디어 파운데이션

Microsoft Windows XP 이하에서 플레이어는 DirectShow를 사용합니다. Windows Vista에서 플레이어는 경우에 따라 DirectShow를 사용하고 미디어 파운데이션을 사용하는 경우도 있습니다.

DSP 플러그 인은 다음 인터페이스의 일부 또는 전부를 구현합니다.

  • IMediaObject
  • IWMPPluginEnable
  • IMFTransform
  • IMFGetService
  • ISpecifyPropertyPages

IMediaObjectIWMPPluginEnable을 구현하는 플러그 인은 DirectShow 파이프라인에서 실행할 수 있습니다. Media Foundation에서 제공하는 래퍼 내에서 Media Foundation 파이프라인에서 실행할 수도 있습니다. 이 유형의 플러그 인을 Microsoft DMO(DirectX Media Object)라고 합니다. DMO는 DirectShow의 필터 개체와 유사하다고 생각하는 것이 일반적입니다. DMO 설명서는 Windows SDK의 DirectShow 섹션에 있습니다.

IMFTransformIMFGetService를 구현하는 플러그 인은 Media Foundation 파이프라인에서 기본적으로 실행할 수 있습니다(래퍼 필요 없음). 이 유형의 플러그 인을 MFT(Media Foundation Transform)라고 합니다. MFT 설명서는 Windows SDK의 Media Foundation 섹션에 있습니다.

IMediaObject, IWMPPluginEnable, IMFTransformIMFGetService를 구현하는 플러그 인은 DirectShow 파이프라인에서 실행할 수 있으며 Media Foundation 파이프라인에서도 기본적으로 실행할 수 있습니다. 이중 모드 DSP 플러그 인이라고 하는 이러한 유형의 플러그 인은 DMO 또는 MFT의 역할을 할 수 있습니다.

Windows 미디어 플레이어 Media Foundation 파이프라인에서 이중 모드 DSP 플러그 인을 사용하는 경우 먼저 IMFTransform 인터페이스를 쿼리합니다. 해당 쿼리가 실패하면 IMediaObject 인터페이스에 대한 쿼리를 Windows 미디어 플레이어. IMediaObject 쿼리가 성공하면 플러그 인이 래핑되고 Media Foundation 파이프라인에 추가됩니다.

파이프라인에 관계없이 사용자가 속성을 설정할 수 있는 모든 DSP 플러그 인은 ISpecifyPropertyPages를 구현해야 합니다.

DSP 플러그 인 개발자 개요

DSP 플러그 인 인터페이스

DSP 플러그 인 패키징