必要なインターフェイス (Windows メディア プレーヤー SDK)

[このページWindows メディア プレーヤー SDK に関連付けられている機能は、レガシ機能です。 MediaPlayer に置き換わりました。 MediaPlayer は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能な場合は SDK ではなく MediaPlayerWindows メディア プレーヤー使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

Windows メディア プレーヤーは、次のいずれかのパイプラインを使用してオーディオとビデオをレンダリングします。

  • DirectShow
  • メディア ファンデーション

Microsoft Windows XP 以前では、Player は DirectShow を使用します。 Windows Vista では、プレーヤーは DirectShow を使用する場合と、Media Foundation を使用する場合があります。

DSP プラグインは、次のインターフェイスの一部またはすべてを実装します。

  • IMediaObject
  • IWMPPluginEnable
  • IMFTransform
  • IMFGetService
  • ISpecifyPropertyPages

IMediaObjectIWMPPluginEnable を実装するプラグインは、DirectShow パイプラインで実行できます。 Media Foundation によって提供されるラッパー内の Media Foundation パイプラインで実行することもできます。 この種類のプラグインは、Microsoft DirectX Media Object (DMO) と呼ばれます。 DMO は DirectShow のフィルター オブジェクトに類似していると考えるのが一般的です。 DMO ドキュメントは、Windows SDK の DirectShow セクションにあります。

IMFTransformIMFGetService を実装するプラグインは、Media Foundation パイプラインでネイティブに実行できます (ラッパーは必要ありません)。 この種類のプラグインは、Media Foundation Transform (MFT) と呼ばれます。 MFT ドキュメントは、Windows SDK の Media Foundation セクションにあります。

IMediaObjectIWMPPluginEnableIMFTransform、および IMFGetService を実装するプラグインは、DirectShow パイプラインで実行でき、Media Foundation パイプラインでもネイティブに実行できます。 このタイプのプラグインは、 デュアルモード DSP プラグインと呼ばれ、DMO または MFT の役割を果たすことができます。

Windows メディア プレーヤー Media Foundation パイプラインでデュアルモード DSP プラグインを使用する場合は、最初に IMFTransform インターフェイスに対してクエリを実行します。 そのクエリが失敗した場合は、IMediaObject インターフェイスのクエリをWindows メディア プレーヤーします。 IMediaObject クエリが成功すると、プラグインがラップされ、Media Foundation パイプラインに追加されます。

パイプラインに関係なく、ユーザーがプロパティを設定できるようにする DSP プラグインは 、ISpecifyPropertyPages を実装する必要があります。

DSP プラグイン開発者の概要

DSP プラグイン インターフェイス

DSP プラグイン パッケージ