Silverlight をインストールするには、ここをクリックします*
Japan変更|すべてのMicrosoft のサイト
Windows Media Player
|各国の Windows Media

Windows Media Player と Windows Media エンコーダのプラグイン構築

作成者 : David Wrede
マイクロソフト ニュー メディア プラットフォーム部門

2002 年 11 月


はじめに

Microsoft Windows Media Player 9 シリーズと Windows Media エンコーダ 9 シリーズの機能を拡張する上で、プラグインは欠かせない要素です。 ユーザーは新たな再生エクスペリエンスを得られ、サードパーティにとっては収益増加のチャンスが増えます。 開発者は、プラグインを作成して提供するにあたり、Windows Media Player 9 シリーズと Windows Media エンコーダ 9 シリーズのソフトウェア開発キット (SDK) を使用しますが、Microsoft DirectX® Media Object (DMO) に基づいた特定のプラグインでは DirectX SDK を使用する必要があります。

概要
このドキュメントでは、Microsoft® Windows Media® Player 9 シリーズと Windows Media エンコーダ  9 シリーズ用に作成できる、多種多様なプラグインについて説明します。 このドキュメントは、Component Object Model (COM) テクノロジの基礎を理解している読者を対象とします。
この文書には、プラグインの作成と使用の詳細を説明した以下のトピックが含まれます。
  • プラグインを作成する理由 プラグインの作成をお勧めする、ビジネス面の理由をいくつかご紹介します。

  • 新しい種類のプラグインについて Windows Media Player 9 シリーズと Windows Media エンコーダ 9 シリーズ SDK を使用して作成できる、新しい種類のプラグインについて説明します。

  • プラグインとユーザーの対話方法 ユーザーがプラグインを有効にする方法と、オプションのプロパティ ページを使ってプラグインを構成する方法について説明します。

  • 詳細情報 この文書で述べる各種 SDK へのリンク、ならびにプラグインの登録情報を掲載しています。
Back to the top of this page トップに戻る



プラグインを作成する理由

プラグインは、サードパーティが収益を創出し、構築済みプラットフォームと製品を結びつけるための優れた方法となります。

次の一覧では、プラグインの作成をお勧めする理由をいくつか挙げています。
  • セールス チャンス。 ユーザーがサードパーティ製プラグインを積極的に購入するようになります。 さまざまなデジタル信号処理 (DSP) プラグイン、DVD デコーダ プラグイン、MP3 エンコーダ プラグインが市場で成功を収めています。

  • インストール ベースの大きさ。全世界の数百万のユーザーが、Windows Media Player と Windows Media エンコーダをインストールしています。 これは多数の潜在的な顧客を獲得できることを意味します。

  • 継続的なサービス収益。 Windows Media Player 内に含まれたプラグインを活用して、Windows Media Player を追加サービスの提供に利用することができます。 たとえば、ユーザー インターフェイス プラグインを使用して、DSP プラグインを構成することや、ビデオのホット スポットなどの機能を提供するレンダリング プラグインと DSP プラグインを相互運用することができます。
Back to the top of this page トップに戻る



新しい種類のプラグインについて

以前のバージョンの Windows Media Player SDK では、視覚エフェクト、MP3 エンコーダ、DVD エンコーダのカスタム プラグインの作成が可能でした。Windows Media Player 9 シリーズ SDK は、新しいプラグイン アーキテクチャによって、その他の種類のプラグインも作成できるようになりました。 作成できるのは次のような種類のプラグインです。
  • ユーザー インターフェイス プラグイン。Player の [プレイ ビュー] ウィンドウに新機能を追加します。 [ビデオと視覚エフェクト] ウィンドウ、[拡張設定] ウィンドウ、[メディアの情報] ウィンドウ、または独立したウィンドウを表示するプラグインを作成することや、表示可能なユーザー インターフェイスを公開しないバックグラウンド プラグインを作成することができます。

  • DSP プラグイン。 Player によってレンダリングされる前に、オーディオとビデオのデータを変更または処理します。DSP プラグインは DMO をベースにしており、COM インターフェイス経由で Player と接続されます。

  • レンダリング プラグイン。Windows Media ストリームに含まれたカスタム データをレンダリングおよびデコード (必要な場合) します。レンダリング プラグインも DMO をベースとしており、 COM インターフェイス経由で Player と接続されます。
Windows Media Player SDK には Windows Media Player プラグイン ウィザードが含まれており、標準実装の詳細を処理するだけで、プラグインを簡単に作成できるようになります。 プラグイン ウィザードを使用してプラグインを作成すると、基本実装の詳細を気にかけずに済むので、プラグインのロジック実装に関する開発作業に専念できます。

次の種類のプラグインを使用して、Windows Media エンコーダ機能を拡張することもできます。
  • 変換プラグイン。圧縮されていないオーディオとビデオのサンプルを、圧縮前に修正します。変換プラグインは DMO または Microsoft DirectShow® の変換フィルタをベースにしており、ラッパー プラグインによって COM インターフェイス経由でアクセスされます。
ユーザー インターフェイス プラグイン
次の 5 種類のユーザー インターフェイス プラグインは、Windows Media Player 機能を拡張します。
  • ディスプレイ プラグイン。このプラグインを使用すると、さまざまな情報を表示できます。 たとえば、表示領域プラグインは現在再生しているアイテムの情報を取得し、関連記事、インタビュー、レビューなどを表示します。

  • 設定プラグイン。グラフィック イコライザやビデオ設定コントロールと類似したカスタム コントロールを表示します。

  • メタデータ プラグイン。 現在の再生メディア アイテムに関する情報、シンプルなコントロール、追加情報へのハイパーリンクを表示します。

  • ウィンドウ プラグイン。 ユーザーが [プレイ ビュー] 領域外へ切り替えたときや、別のユーザー インターフェイス プラグインを有効にしたときにも、プラグインの提供する情報やコントロールを表示したままにしておく場合に有益です。

  • バックグラウンド プラグイン。 ユーザー入力を必要としない、自動的なサービスを提供します。 プロパティ ページを実装していない限り、バックグラウンド プラグインはユーザー インターフェイスを持ちません。
次の図は、上記のユーザー インターフェイス プラグインが Windows Media Player のどの場所に表示されるかを示しています。

User interface plug-ins in the Player
1. Player のユーザー インターフェイス プラグイン


すべてのユーザー インターフェイス プラグインは、中核の Windows Media Player アプリケーション プログラミング インターフェイス (API) へのポインタを使って、Player のオブジェクト モデルへアクセスします。 これにより、Windows Media Player の [メディア ライブラリ]、現在の再生リスト、Player のコントロール、イベントなどの中核機能を利用できるようになります。

ユーザー インターフェイス プラグインを作成するときは、IWMPPluginUI のみを実装する必要があります。 この API は、同じく実装が必要な複数のメソッドを公開します。 Windows Media Player プラグイン ウィザードを使用している場合、基本実装は自動的に実行されます。

ユーザー インターフェイス プラグインは、フル モードの Player と、Windows Media Player 9 シリーズに対応したオペレーティング システムでサポートされます。


DSP プラグイン
DSP プラグインは、Windows Media Player がレンダリングする前に、オーディオまたはビデオ データを処理します。 たとえば、オーディオ ストリームにエコー効果を追加したり、カラーのビデオ ストリームをグレースケールに変換して、再生中のユーザー コンテンツを変更することができます。

DSP プラグインは、すべての Windows Media ファイル、MP3 ファイル、AVI および WAV ファイル、ならびに CD で動作します。 ローカルにコピーされたコンテンツを除き、デジタル著作権管理 (DRM) で保護されたコンテンツでは一切動作しません。 また DVD でも動作しません。

DSP プラグインを作成するときは、IMediaObjectIWMPPluginEnable という 2 つの API を実装する必要があります。 先に述べたように、DSP プラグインは DMO をベースとしており、フォーマット ネゴシエーションとデータ処理は IMediaObject インターフェイスで管理されます。 IWMPPluginEnable インターフェイスは、プラグインが Windows Media Player で有効になっているかどうかを示す値を格納します。

ユーザーがプラグインの動作を変更できるようにするため、プロパティ ページを作成する場合、IPropertyPageISpecifyPropertyPages インターフェイスを実装しなければなりません。

Windows Media Player プラグイン ウィザードは、オーディオまたはビデオの DSP プラグイン用の基本実装を提供します。

DSP プラグインは、フルモードの Windows Media Player、スキン、および組み込みコントロールでサポートされます。Windows Media Player 9 シリーズ対応のオペレーティング システムであれば、このプラグインはサポートされます。


レンダリング プラグイン
レンダリング プラグインは任意のデータ ストリームを Player から受信し、そのデータをレンダリングします。 そのため、実質的にあらゆるフォーマットのデータを Player にレンダリングし、表示することができます。 たとえば、ユーザーがクリックすることでビデオの再生エクスペリエンスを変更できるビデオの「ホット スポット」を、レンダリング プラグインを使用して作成することができます。 ホット スポットのような任意のデータ ストリームは、Windows Media フォーマット 9 シリーズ SDK をベースとするオーサリング ツールを使用して、Windows Media ファイルに書き込まなければなりません。

レンダリング プラグインを作成するときは、IMediaObjectIWMPNodeRealEstateIWMPNodeWindowedIWMPNodeWindowlessIWMPPluginIWMPWindowMessageSink の 6 つのインターフェイスを実装する必要があります。 レンダリング プラグインも DMO をベースにしており、IMediaObject インターフェイスはレンダリング プラグインのフォーマット ネゴシエーションとデータ処理を管理します。IWMPNodeRealEstate インターフェイスは、レンダリング領域に関連した応答を要求し、受信するために使用されます。 Player はウィンドウ モードまたはウィンドウレス モードいずれのデータもレンダリングできるので、レンダリング プラグインは IWMPNodeWindowedIWMPNodeWindowless インターフェイスの両方を実装しなければなりません。 IWMPNodeWindowed インターフェイスは、オーナー ウィンドウの指定と取得を行い、IWMPNodeWindowless インターフェイスはウィンドウレス モードの描画を開始します。 また IWMPPlugin インターフェイスは、Player との接続を管理します。 最後に、IWMPWindowMessageSink はプラグインがウィンドウレス モードのときに、Microsoft Windows® のメッセージを受信します。

プロパティ ページへユーザーがアクセスできるようにするには、IPropertyPageISpecifyPropertyPages インターフェイスを実装しなければなりません。

Windows Media Player プラグイン ウィザードは、オーディオ ファイルの再生中にテキストを表示する、サンプルのレンダリング プラグインを作成します。

レンダリング プラグインは、フルモードの Player、スキン、および組み込みコントロールでサポートされます。Windows Media Player 9 シリーズに対応したオペレーティング システムであれば、このプラグインをサポートします。


変換プラグイン
変換プラグインは、圧縮されていないオーディオとビデオのサンプルを圧縮前に修正します。 たとえば、透かし、ビデオ コメントの追加、指紋認証、カスタムのオーディオ/ビデオ処理などのタスクを実行できます。

変換プラグインは DMO または変換フィルタをベースとしており、ラッパー プラグインを介して Windows Media エンコーダへアクセスします。 Windows Media エンコーダでサポートする入力種類は変更できますが、プラグインあたり 1 種類のメディアしか変更できません。たとえば、ファイル内のオーディオ ストリームとビデオ ストリームの両方を変更する場合、2 種類の変換プラグインを別々に作成しなければなりません。

変換プラグインを作成するときは、IMediaObject インターフェイスを実装する必要があります。 プラグインを作成して、登録した後は、IWMEncTransformPluginInfoManagerIWMEncPluginInfo インターフェイスを使用して、プラグイン情報を管理および取得することができます。

Windows Media エンコーダ 9 シリーズに対応したオペレーティング システムであれば、変換プラグインをサポートします。

Back to the top of this page トップに戻る



プラグインとユーザーの対話方法

Windows Media Player プラグインは WindowsMedia.comLeave this Web site からダウンロードできます。 あるいは、Windows Media Player の [メディア ガイド] 機能を使用したダウンロードが可能です。 [ツール] メニューの [プラグイン] をポイントし、[プラグインのダウンロード] をクリックするか、または [オプション] ダイアログ ボックスの [プラグイン] タブをクリックします。

Windows Media Player と Windows Media エンコーダのプラグインをインストールするには、プラグインをコンピュータに適切に登録するため、インストール プログラムを使用する必要があります。

Windows Media Player のプラグインをインストールした後は、[プラグイン] タブにあるチェック ボックスを使用して、プラグインの有効または無効を切り替えることができます。 [ツール] メニューから [プラグイン] をポイントし、プラグイン名をクリックしても、有効と無効の切り替えが可能です。 プラグインがプロパティ ページを使用している場合がありますが、このページにも [プラグイン] タブからアクセスできます。

Windows Media エンコーダのプラグインをインストールした後は、[セッション プロパティ] ダイアログ ボックスの [プラグイン] タブを使用して、プラグインを登録しなければなりません。 プラグインの登録後は、プラグインをクリックして、現在のプラグイン一覧に移動させることができます。 この一覧のプラグインの順序は、コンテンツの処理方法によって決まります。

Back to the top of this page トップに戻る



詳細情報
法的な注意
このドキュメントに記載されている情報は、このドキュメントの発行時点におけるマイクロソフトの見解を反映したものです。変化する市場状況に対応する必要があるため、このドキュメントは、記載された内容の実現に関するマイクロソフトの確約とはみなされないものとします。また、発行以降に発表される情報の正確性に関して、マイクロソフトはいかなる保証もいたしません。

このホワイト ペーパーは情報提供のみを目的としており、明示または黙示に関わらず、これらの情報についてマイクロソフトはいかなる責任も負わないものとします。

お客様ご自身の責任において、適用されるすべての著作権関連法規に従ったご使用を願います。 このドキュメントのいかなる部分も、米国 Microsoft Corporation の書面による許諾を受けることなく、その目的を問わず、どのような形態であっても、複製または譲渡、検索システムへの格納および公開をすることは禁じられています。ここでいう形態とは、複写や記録など、電子的な、または物理的なすべての手段を含みます。ただしこれは、著作権法上のお客様の権利を制限するものではありません。

マイクロソフトは、このドキュメントに記載されている内容に関し、特許、特許申請、商標、著作権、またはその他の無体財産権を有する場合があります。 別途マイクロソフトのライセンス契約上に明示の規定のない限り、このドキュメントはこれらの特許、商標、著作権、またはその他の無体財産権に関する権利をお客様に許諾するものではありません。

© 2003 Microsoft Corporation. All rights reserved.

マイクロソフト、MS-DOS、Windows、Windows Media、Windows NT、ActiveSync、ActiveX、Direct3D、DirectDraw、DirectInput、DirectMusic、DirectPlay、DirectShow、DirectSound、DirectX、FrontPage、JScript、Microsoft Press、MSN、NetShow、Outlook、PowerPoint、SQL Server、Visual Basic、Visual C++、Visual InterDev、Visual J++、Visual Studio、WebTV、Win32、および Win32s は、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。

記載されている会社名、製品名には、各社の商標のものもあります。

Back to the top of this page トップに戻る


 

Microsoft