Windows Media Player のプロパティの変更
November 2000
日本語版最終更新日 2002 年 3 月 25 日
ここでの内容は、Windows Media Player 6.4 についてのみ適用されます。
埋め込まれた Microsoft® Windows Media Player のプロパティを変更するには、ユーザーが使用しているブラウザを調べるためのスクリプトを Web ページに埋め込むことで可能になります。 これは、Web サイトを構築する際に、Internet Explorer と Netscape Navigator の両ブラウザをサポートしなければならない場合必要不可欠です。なぜなら、ActiveX® コントロールと Netscape プラグインでは、スクリプト構文とプロパティ設定に使用される名前に違いがあるからです。この記事では、JavaScriptを使用したシンプルな方法を説明します。
以下のスクリプトセグメントは、MSDN Online Samples のサイトにある Advanced Embedding で使用されているサンプルです。ユーザーが帯域幅のボタンをクリックした時、OnClick イベントが setBandwidth 関数を実行し、帯域幅を含んだ短いストリングを渡します。
<IMG ALT="Best Experienced with Windows Media Player" SRC="bestExpWMP.gif">
<A HREF="#" ONCLICK="setBandwidth('56')">
<IMG Alt="Play 56K clip" BORDER=0 SRC="part2b.gif"></A>
<A HREF="#" ONCLICK="setBandwidth('28')">
<IMG Alt="Play 56K clip" BORDER=0 SRC="part3b.gif"></A>
setBandwidth 関数は以下のように定義されます:
<script language="JavaScript">
function setBandwidth (connectionSpeed) {
if ((navigator.userAgent.indexOf("IE") > -1) && (navigator.platform == "Win32")) {
MediaPlayer.autoStart = true;
MediaPlayer.Filename = connectionSpeed + '.asx';
} else {
document.MediaPlayer.SetAutoStart(true);
document.MediaPlayer.SetFileName(connectionSpeed + '.asx');
}
}
</script>
関数はまずブラウザが Internet Explorer ("IE") であるかと Win32プラットフォームであるかをチェックします。
if ((navigator.userAgent.indexOf("IE") > -1) && (navigator.platform == "Win32"))
その場合、以下のコードが実行されます:
MediaPlayer.autoStart = true;
MediaPlayer.Filename = connectionSpeed + '.asx';
このサンプルでは、コントロールのプロパティ autostart が true に設定されます。二行目は、Filename プロパティが 変則的な connectionSpeed に.asx ファイル拡張子が追加されたテキストストリングに設定されます。 autostart が true の時、プレイヤーがストリームに接続したのを認めるとデジタルメディアはすぐに再生を始めます。
もしブラウザが Internet Explorer 出ない場合 (多分 Netscape であると想定できますが)、以下のコードが実行されます:
document.MediaPlayer.SetAutoStart(true);
document.MediaPlayer.SetFileName(connectionSpeed + '.asx');
このようなことから、Netscape Navigator と Internet Explorer とでは以下の二点が異なっていることがわかります:
-
プロパティ名 Netscape では、プロパティ名として SetAutoStart と SetFileName が参照されます。一方で、Internet Explorer の場合は autostart と Filename となります。この論理は全プロパティに共通しており、例えば SetDisplaySize (Netscape プラブイン用) と DisplaySize (Internet Explorer の ActiveX control用)などがあります。
-
構文 Internet Explorer では、プロパティは変数設定の値と同じですがNetscape Navigator のプラグインでは、かっこを使用し、設定を Windows Media Player プラグインに送信される変数として扱います。
「クロスブラウザ機能のための高度なスクリプティング」に戻る
|