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 と Windows Media
エンコーダをインストールしています。 これは多数の潜在的な顧客を獲得できることを意味します。
継続的なサービス収益。 Windows
Media Player
内に含まれたプラグインを活用して、Windows
Media Player
を追加サービスの提供に利用することができます。 たとえば、ユーザー
インターフェイス プラグインを使用して、DSP
プラグインを構成することや、ビデオのホット
スポットなどの機能を提供するレンダリング
プラグインと DSP
プラグインを相互運用することができます。
以前のバージョンの Windows Media Player SDK
では、視覚エフェクト、MP3 エンコーダ、DVD
エンコーダのカスタム
プラグインの作成が可能でした。Windows Media Player 9
シリーズ SDK は、新しいプラグイン
アーキテクチャによって、その他の種類のプラグインも作成できるようになりました。 作成できるのは次のような種類のプラグインです。
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
のどの場所に表示されるかを示しています。
図 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 プラグインを作成するときは、IMediaObject
と IWMPPluginEnable という 2 つの API
を実装する必要があります。 先に述べたように、DSP
プラグインは DMO
をベースとしており、フォーマット
ネゴシエーションとデータ処理は IMediaObject
インターフェイスで管理されます。 IWMPPluginEnable
インターフェイスは、プラグインが Windows Media
Player
で有効になっているかどうかを示す値を格納します。
変換プラグインは DMO
または変換フィルタをベースとしており、ラッパー
プラグインを介して Windows Media
エンコーダへアクセスします。 Windows Media
エンコーダでサポートする入力種類は変更できますが、プラグインあたり
1 種類のメディアしか変更できません。たとえば、ファイル内のオーディオ
ストリームとビデオ
ストリームの両方を変更する場合、2
種類の変換プラグインを別々に作成しなければなりません。
Windows Media Player プラグインは WindowsMedia.com
からダウンロードできます。 あるいは、Windows Media
Player の [メディア ガイド]
機能を使用したダウンロードが可能です。 [ツール]
メニューの [プラグイン]
をポイントし、[プラグインのダウンロード]
をクリックするか、または [オプション]
ダイアログ ボックスの [プラグイン] タブをクリックします。
Windows Media Player と Windows Media
エンコーダのプラグインをインストールするには、プラグインをコンピュータに適切に登録するため、インストール
プログラムを使用する必要があります。
Windows Media Player
のプラグインをインストールした後は、[プラグイン]
タブにあるチェック
ボックスを使用して、プラグインの有効または無効を切り替えることができます。 [ツール]
メニューから [プラグイン]
をポイントし、プラグイン名をクリックしても、有効と無効の切り替えが可能です。 プラグインがプロパティ
ページを使用している場合がありますが、このページにも
[プラグイン]
タブからアクセスできます。
Windows Media
エンコーダのプラグインをインストールした後は、[セッション
プロパティ] ダイアログ ボックスの [プラグイン]
タブを使用して、プラグインを登録しなければなりません。 プラグインの登録後は、プラグインをクリックして、現在のプラグイン一覧に移動させることができます。 この一覧のプラグインの順序は、コンテンツの処理方法によって決まります。
お客様ご自身の責任において、適用されるすべての著作権関連法規に従ったご使用を願います。 このドキュメントのいかなる部分も、米国 Microsoft Corporation の書面による許諾を受けることなく、その目的を問わず、どのような形態であっても、複製または譲渡、検索システムへの格納および公開をすることは禁じられています。ここでいう形態とは、複写や記録など、電子的な、または物理的なすべての手段を含みます。ただしこれは、著作権法上のお客様の権利を制限するものではありません。