次の方法で共有


Web ページへの Windows Media の追加

Microsoft Corporation

December 2000

要約 : この記事では、Web ページに Windows Media を追加することがいかに容易であるかを紹介すると共に、ユーザー エクスペリエンスをどこまで高められるかについての概要を説明します 。

目次

はじめに
Windows Media メタファイルの作成
シンプル リンクの追加
Windows Media Player の埋め込み
     バージョン 7 のコントロールの使用
     バージョン 6.4 のコントロールの使用
PARAM 要素の追加
スクリプトの追加

はじめに

Microsoft(R) Windows Media(TM) 技術は Web 向けに設計されています。Windows Media エンコーディング ツールを使用すると、Windows Media ファイルおよび作成したライブ ストリームを管理することができます。Windows Media Player およびプレーヤー プログラミング インターフェイスを通じて、エンド ユーザー エクスペリエンスを全面的に制御することができます。

この記事では、Web ページに Windows Media を追加することがいかに容易であるを紹介すると共に、ユーザー エクスペリエンスをどこまで高められるかについての概要を説明します。

この記事で紹介される例をテストするには、Windows Media Player バージョン 7 をインストールする必要があります。WMP バージョン 7 にはバージョン 6.4 の機能も含まれているため、バージョン 7 をインストールすると両方のバージョンの機能を活用することができます。例の中には、WMP の両方のバージョンで動作するものもあれば、バージョン 7 でのみ動作するものもあります。バージョン 7 でのみ動作する場合は、その旨を注記します。Windows Media Player 7 は Windows Media Web サイトからダウンロードできます。

Windows Media メタファイルの作成

Windows Media を自分の Web ページに追加する最初のステップは、1 つ以上の Windows Media メタファイルを作成することです。Windows Media メタファイルは単純なテキスト ファイルであり、メタファイルには、.wax、.wvx、または .asx という拡張子が付きます。一般に、Windows Media の各ファイルまたはストリームごとに、メタファイルを 1 つ作成します。たとえば、BigSur.wmv という名前のビデオ ファイルがある場合、BigSur.wvx という名前のメタファイルを作成します。

メタファイルはリダイレクタ ファイルの役割を果たします。Web ページにリンクを追加するときに、ファイルの URL (Uniform Resource Locator) を挿入するのではなく、代わりにメタファイルにリンクします。メタファイルに対象ファイルの URL が収められています。エンド ユーザーがリンクをクリックすると、ブラウザにより小さなメタファイルがダウンロードされます。それから、メタファイルの内容が Windows Media Player に送られます。そして、WMP により、サーバーへの接続とデジタル メディアの再生が行われます。

メタファイルを使用する理由は、ダイレクト リンクの場合、デジタル メディアが期待どおりに再生されるという保証がないからです。Microsoft Internet Explorer の最近のバージョンでは、オーディオおよびビデオは適切にストリーミングされます。しかし、他のブラウザは、ファイルをダウンロードし、それを Web ページとして開こうとしたり、エンド ユーザーにエラー メッセージを送ったりする可能性があります。メタファイルを使用すれば、デジタル メディアが適切にストリーミングされることが保証されます。

Windows Media のメタファイルはマイクロソフトのメモ帳などのテキスト エディタを使用して作成できます。簡単なメタファイル スクリプトの例を以下に示します。

<ASX version = "3.0">
<Entry>
<Ref href = "mms://WindowsMediaServer/MyFile.wmv" />
</Entry>
</ASX>

メタファイルでは、豊富な一連の機能とプロパティを備えた、XML ベースのスクリプト言語を使用します。この例では、メタファイルは単純に MyFile.wmv という 1 つのファイルを再生するように Windows Media Player に指示しています。

  1. ASX 要素はそれに囲まれているスクリプトが Windows Media メタファイルの一部であることを定義します。
  2. Entry 要素はデジタル メディアを指定します。
  3. Ref href 要素は対象メディアの URL を指定します。MMS は、Windows Media サービスによって認識される、Windows Media のストリーミング プロトコルです。

メタファイルには複数の Entry 要素を含めることができます。それにより、再生リストを作成することができます。また、デジタル メディアの再生を制御する要素、テキスト プロパティ、および Windows Media Player インターフェイスへのリンクをメタファイルに含めることもできます。詳細については、Windows Media Player Software Development Kit (SDK) の Windows Media メタファイルに関する記事を参照してください。

テキスト エディタでスクリプトを入力し終わったら、ファイルを保存します。その際、ファイル名の拡張子に次のいずれかを使用します。

拡張子 使用条件
.wax すべてのデジタル メディアはオーディオ専用であり、ファイル拡張子が .wma である。
.wvx デジタル メディアの中にファイル拡張子が .wmv であるビデオが含まれる。
.asx デジタル メディアは以前のバージョンの Windows Media 技術を使用して作成されていて、ファイルの拡張子が .asf である。

この例では、メタファイルに MyFile.wvx という名前を付けることができます。両方のファイルに同じ名前を付ける必要はありませんが、同じ名前を付けておくと、ファイルがたくさんある場合に整理しやすくなります。

メタファイルを作成し終わったら、Web サーバー上に公開して Web ページからアクセスできるようにします。次のステップはシンプル リンクの追加です。

シンプル リンクの追加

Web ページから Windows Media ファイルを再生またはライブでストリーミングする最も簡単 (および多くの場合、最適) な方法は、メタファイルに簡単なハイパーリンクを挿入することです。エンド ユーザーがリンクをクリックすると、Windows Media Player が開き、エンド ユーザーのコンピュータに Windows Media Player がインストールされているという想定に基づいて、デジタル メディアが再生されます。

MyFile.wvx へのリンクが含まれる HTML スクリプトの例を以下に示します。

<html>
<head>
<title>Windows Media Player シンプル リンク</title>
</head>
<body>
<a  HREF = "http://WebServer/MyFile.wvx"> ここ</a>をクリックするとファイルが再生されます。
</body>
</html>

シンプル リンクを使用すると、デジタル メディアはブラウザの外で、Windows Media Player のフルモードまたはスキンの下で再生されます。ブラウザから切り離すことにはいくつかの利点があります。エンド ユーザーにとっての主な利点は、メディアの再生を続けながら、他のサイトに移動するためにブラウザを使い続けられることです。プレーヤーをフルモードで使用すれば、プレーヤーのすべての機能を使用して、再生を全面的に制御することができます。Web 開発者にとっての主な利点は、その単純性です。単純なリンクのみが必要とされるため、Web ページ上で必要なスペースもごくわずかで済みます。これに代わる方法は、Windows Media Player を埋め込むことです。

Windows Media Player の埋め込み

Windows Media Player を Web ページに埋め込むことができます。埋め込みの第一の利点は、プレーヤーの外観と機能、つまりユーザー エクスペリエンスを全面的に制御できることです。Web ページのデザインに調和したプレーヤーを作成することができ、適切な機能のみを表示することができます。たとえば、再生と停止の 2 つのボタンのみを表示し、1 つのファイルのみを再生するようにプレーヤーを設定することができます。

第二の利点は、Web ページ スクリプトでプレーヤーを制御できることに加えて、プレーヤーで Web ページを制御できるようにするスクリプトを追加できることです。たとえば、Windows Media ファイルまたはライブ ストリームにコマンドを送り、メディアと同期を取ってフレーム内のイメージを変更したり、Microsoft Internet Explorer に Dynamic HTML コマンドを送ったりすることができます。ストリーム コマンドの使い方の詳細については、Windows Media Player - クロスブラウザ機能のための高度なスクリプティング を参照してください。

Windows Media Player を Web ページに埋め込むと、ブラウザ内でのユーザー エクスペリエンスを全面的に制御することができます。ブラウザの外でユーザー エクスペリエンスを制御する場合は、カスタム プレーヤー スキンを作成することができます。詳細については、新しい Windows Media Player 7 のためのカスタムスキンの作成 を参照してください。

バージョン 7 のコントロールの使用

Windows Media Player を埋め込むためには、Windows Media Player ActiveX(R) コントロール用の OBJECT 要素を追加します。使用しているコンピュータに Windows Media Player をインストール済のエンド ユーザーが Web ページを開くと、OBJECT 要素により Web ページ内にプレーヤー コントロールが開きます。以下に示す HTML の例では、セット サイズが 320 x 240 ピクセルの Windows Media Player 7 コントロールを開きます。

<HTML>
<HEAD>
<TITLE>埋め込まれた Windows Media Player のコントロール</TITLE>
</HEAD>
<BODY>
<OBJECT ID="Player" width="320" height="240"
CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
</OBJECT>
</BODY>
</HTML>

このCLASSID 番号はバージョン 7 の Windows Media Player コントロールに固有のものです。エンド ユーザーが古いバージョンを使用している場合、プレーヤーは開きません。バージョン 7 に固有の ID が付けられている理由は、新しいプレーヤーではスクリプティング モデルが改善されていて、古いバージョンと互換性がないためです。新しいスクリプティング モデルを使用すると、固有の ID により、古いバージョンを使用しているユーザーが Web ページを開こうとしたときにスクリプト エラーが発生することを防止できます。バージョン 7 が使用されているかどうかを確認するためには、以下に示す VBScript の例のようなスクリプトを追加することができます。バージョン 7 がインストールされていない場合、そのインストール方法をユーザーに知らせるメッセージ ボックスが開きます。

<SCRIPT LANGUAGE="VBScript">
<!--
On error resume next
Player.URL = ""
if err then msgbox "Windows Media Player 7 が必要です。" & chr(13) &_
"https://www.microsoft.com/japan/windowsmedia から入手してください"
err.clear
-->
</SCRIPT>

Windows Media Player 7 を開くことができない場合、Player.URL メソッドが呼び出されたときにエラーが発生します。IF 文はエラーの有無を判定し、エラーが発生している場合にはメッセージ ボックスを開きます。

バージョン の6.4 コントロールの使用

別の方法として、バージョン 6.4 の ActiveX コントロールを埋め込むことも可能です。バージョン 6.4 の機能はバージョン 7 に含まれているので、バージョン 6.4 と互換性のあるスクリプトは、両方のバージョンの Windows Media Player と互換性を持つことになります。バージョン 6.4 と互換性のあるスクリプトを使用する利点は他にもあります。

  • ユーザーがバージョン 7 をインストールできない。Windows(R) 95 や Windows NT(R) など、マイクロソフトの古いオペレーティング システム上には新しいバージョンのプレーヤーをインストールすることはできません。
  • Netscape ブラウザをサポートしたい。バージョン 7 には Netscape Web ブラウザ用のプラグインは含まれていません。
  • アプリケーションにコントロールを埋め込もうとしている。バージョン 7 では Microsoft Visual Basic(R) または Visual C++(R) を使用したコントロールの埋め込みがサポートされていません。これは Web ページへの埋め込みとは直接関連していませんが、コントロールを使用するプログラムを作成する計画があるかどうかを知っておくと役立ちます。

バージョン 6.4 の ActiveX コントロールと Netscape プラグインを埋め込むことにより、マイクロソフトの任意のオペレーティング システムおよび最も一般的なブラウザのユーザーは Web ページに Windows Media Player を埋め込んで開くことができます。埋め込まれたバージョン 7 プレーヤーの機能の大部分は、バージョン 6 でも利用できます。バージョン 7 を使用することを推奨しますが、バージョン 7 を使用できない場合でも、埋め込みに関連するほとんどの状況において、バージョン 6.4 はほぼ同様に機能します。

バージョン 6.4 のコントロールを Web ページに埋め込むためには、バージョン 6.4 の CLASSID 番号を持つ OBJECT 要素を使用します。Netscape ユーザー向けのサポートを追加するには、EMBED タグの付いたバージョン 6.4 用のプラグインを追加します。以下に示す OBJECT 要素は Microsoft Internet Explorer 内または Netscape Navigator 内にバージョン 6.4 のプレーヤーを開きます。

<OBJECT ID="MediaPlayer" WIDTH=320 HEIGHT=240
CLASSID="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95"
STANDBY="Loading Windows Media Player components..." 
TYPE="application/x-oleobject">

<EMBED TYPE="application/x-mplayer2" 
NAME="MediaPlayer"
WIDTH=320
HEIGHT=240>
</EMBED>

</OBJECT>

CODEBASE 属性の使用

バージョン 6.4 のプレーヤーを埋め込む場合、OBJECT 要素に CODEBASE 属性を追加することができます。CODEBASE 属性を追加することにより、エンド ユーザーのコンピュータ上に Windows Media Player が存在するかどうかが確認されます。CODEBASE には URL を指定します。バージョンを指定することもできます。コンピュータ上に正しいバージョンのプレーヤーがインストールされていない場合は、URL に指定されている場所から正しいバージョンのプレーヤーが自動的にインストールされます。

以下に示す CODEBASE スクリプトは Microsoft Web サイトから正しいバージョン 6.4 のプレーヤーを自動的にインストールします。

CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112"

PARAM 要素の追加

Web ページに Windows Media Player を埋め込んでおくと、プレーヤーの外観と機能を制御するスクリプトを追加することができます。PARAM 要素を使用すると、Web ページが開かれたときに、いくつかのプレーヤー プロパティを指定できるようになります。プレーヤーで開くファイル名または URL のようなプロパティおよびプレーヤーの外観を指定することができます。

以下に示すバージョン 7 のスクリプトの例では、PARAM 要素を使用してプレーヤーの AUTOSTART プロパティを TRUE に設定し、URL プロパティを Windows Media メタファイルの位置に設定しています。

<HTML>
<HEAD>
<TITLE>埋め込まれた Windows Media Player 7 のコントロール</TITLE>
</HEAD>
<BODY>
<OBJECT ID="Player" width="320" height="240"
CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
<PARAM name="autoStart" value="True">
<PARAM name="URL" value="http://WebServer/MyFile.wvx">
</OBJECT>
</BODY>
</HTML>

AUTOSTART を有効に設定すると、プレーヤー コントロールが開かれると直ちに、URL で指定されるファイルまたはスクリプトが自動的に再生されます。

下記のスクリプトを使用すると、同じ機能をバージョン 6.4 のコントロールとプラグインに追加することができます。

<HTML>
<HEAD>
<TITLE>埋め込まれた Windows Media Player 6.4 のコントロール</TITLE>
</HEAD>
<BODY>
<OBJECT ID="MediaPlayer" WIDTH=320 HEIGHT=240
CLASSID="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95"
STANDBY="Loading Windows Media Player components..." 
TYPE="application/x-oleobject"
CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112">

<PARAM name="autoStart" value="True">
<PARAM name="filename" value="http://WebServer/MyFile.wvx">

<EMBED TYPE="application/x-mplayer2" 
SRC="http://WebServer/MyFile.wvx"
NAME="MediaPlayer"
WIDTH=320
HEIGHT=240>
</EMBED>
</OBJECT>
</BODY>
</HTML>

バージョン 6.4 の OBJECT 属性以外の相違点は媒体のメディアを開くためのメソッド名、つまりファイル名のみです。プラグインの URL を指定するために、SRC 属性が使用されています。2 つのバージョンの機能は類似しています。主な違いは、スクリプトの機能の構成とプレーヤーの外観にあります。バージョン 7 では、コントロールはサブコントロールに分割されています。詳細については、Windows Media Player 7 SDK を参照してください。

スクリプトの追加

Windows Media Player のコントロールを埋め込み、PARAM プロパティを設定すると、プレーヤーの機能を制御するスクリプトを追加することができます。2 つの入力ボタンを追加するスクリプトを下に示します。

<INPUT TYPE="BUTTON" NAME="BtnPlay" VALUE="Play" OnClick="StartMeUp()">
<INPUT TYPE="BUTTON" NAME="BtnStop" VALUE="Stop" OnClick="ShutMeDown()">

これらのボタンは Microsoft JScript(R) スクリプトと連携して、プレーヤーを起動および停止する働きをします。

<SCRIPT>
<!--
function StartMeUp ()
{
Player.URL = "http://WebServer/MyFile.wvx";
}

function ShutMeDown ()
{
Player.controls.stop();
}
-->
</SCRIPT>

以下に示す完全な HTML スクリプトは、Windows Media Player 7 コントロールを埋め込み、URL PARAM を設定し、2 つのボタンを埋め込み、ボタンの機能させています。また、エンド ユーザーのコンピュータにバージョン 7 のプレーヤーがインストールされていない場合、メッセージ ボックスをポップアップさせる機能も含まれています。

<HTML>
<HEAD>
<TITLE>埋め込まれた Windows Media Player 7 のコントロール</TITLE>
</HEAD>
<BODY>
<OBJECT ID="Player" width="320" height="240"
CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
<PARAM name="URL" value="http://WebServer/MyFile.wvx">
<PARAM name="uiMode" value="none">
</OBJECT>
<BR>
<INPUT TYPE="BUTTON" NAME="BtnPlay" VALUE="Play" OnClick="StartMeUp()">
<INPUT TYPE="BUTTON" NAME="BtnStop" VALUE="Stop" OnClick="ShutMeDown()">
<SCRIPT>
<!--
function StartMeUp ()
{
Player.controls.play();
}

function ShutMeDown ()
{
Player.controls.stop();
}
-->
</SCRIPT>
<SCRIPT LANGUAGE="VBScript">
<!--
On error resume next
Player.URL = ""
if err then msgbox "Windows Media Player 7 が必要です。" & chr(13) &_
"https://www.microsoft.com/windowsmedia から入手してください"
err.clear
-->
</SCRIPT>
</BODY>
</HTML>

uiMode プロパティも PARAM として追加されていることに注目してください。このプロパティが "none" に設定されていると、プレーヤーはコントロールなしで開きます。

このスクリプトをバージョン 6.4 のコントロールおよびプラグインに適合させることができます。そのためには、OBJECT 要素を置き換え、プラグイン要素を追加し、2 つのプレーヤー メソッドを変更します。StartMeUp 関数でメソッドを Player.play() に変更し、ShutMeDown() 関数でメソッドを Player.stop() に変更します。この 2 つの変更は共に、バージョン 7 で関数が再構成されたことに関係しています。

Web ページにおける Windows Media の使用に際して、追加情報を入手するための主なソースは 2 つあります。

  1. MSDN ライブラリの他の記事
  2. Windows Media SDK の一部である Windows Media Player 7 SDK

その他のソースとして、マイクロソフト プレスから出版されている『Windows Media Player 7 Handbook』(英語版のみ)があります。この本には、プレーヤーの使用方法、スキンの作成方法、Web ページおよびプログラムへのプレーヤーの埋め込み方法など、プレーヤーに関する情報が満載されています。