• Showing Page History #30796

MP3FLVPlayer ~ MP3 & FLV プレイヤー

この Wiki は、まだ、書き掛けのページです。

FrontPage に戻る

MP3FLVPlayer とは何ですか?

MP3FLVPlayer は、MP3 Player および FLV Player、さらにそれらを操作するためのいくつかのJavaScriptから構成されるライブラリです。

Flash を操作するためには、SWFObject 1.5 という有名な Flash 用の JavaScript ライブラリがあります。

ただし、非常に高機能であり、単純なことを行う場合でも、それなりの記述をしなければなりません。JavaScript を理解してるのであれば、この SWFObject を利用した方が良いのでしょうが、 そうでなければ、敷居が若干高くなることも否めません。

そこで、SWFObject の代替となるスクリプトと専用のMP3プレイヤーおよびFLVプレイヤーに特化したライブラリを作成しました。

なお、本ライブラリで使用するプレイヤーは、Adobe Flex3 で作成したものです。

MP3FLVPlayer の実行環境

MP3FLVPlayer の中核は、Flash用swfファイルと JavaScript のライブラリです。つまり、JavaScript が動作し、Flashプレイヤーがインストールされているブラウザであれば、何でも良いのですが、実際には、制限を加えています。

すなわち、ブラウザチェックの部分で以下のブラウザを推奨し、それ以外は非推奨としています。

  • Windows : Internet Explorer 7 以上
  • Windows : Firefox 2 以上
  • Windows : Safari 3 以上
  • Windows : Opera 9 以上
  • Mac : Firefox 2 以上
  • Mac : Safari 2 以上
  • Mac : Opera 9 以上

また、Adobe Flash Player のバージョンは、9 以上でないと動作しません。

インストール

  1. プロジェクトページの最新リリース情報から最新バージョンをダウンロードします。
  2. ダウンロードしたファイル (ZIP形式) を適当なディレクトリに解凍します。解凍されたディレクトリ内には、以下のファイルがあります。
* browser.js (JavaScript ライブラリ)
* player.js (JavaScript ライブラリ)
* FLVPlayer.swf (FLV プレイヤー : swf形式)
* MP3Player_L.swf (MP3 プレイヤー : swf形式)
* sample.html (サンプル HTMLファイル)
* sample2.html (サンプル HTMLファイル)
* sample.flv (サンプル FLV ファイル)
* MySong.mp3 (サンプル MP3 ファイル)

以上で、インストールは終了です。実際に必要となるファイルは、2つの JavaScript ライブラリと 2つのswf形式プレイヤーだけです。それ以外はサンプルなどになります。

まずは使ってみよう

もっとも単純な方法

もっとも単純な使用方法の例は、以下の simple.html です。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  7. <meta http-equiv="Content-Script-Type" content="text/javascript" />
  8. <title>Flex 3</title>
  9. <script type="text/javascript" src="browser.js"></script>
  10. <script type="text/javascript" src="player.js"></script>
  11. </head>
  12. <body>
  13. <p>
  14. <script type="text/javascript"><!--
  15. Flash.FLVPlayer("./", "sample.flv");
  16. Flash.MP3Player("./", "MySong.mp3");
  17. //-->
  18. </script>
  19. </p>
  20. </body>
  21. </html>

この例では、simple.html、browser.js、player.js、FLVPlayer.swf、MP3Player_L.swf、sample.flv、MySong.mp3 をすべて同じディレクトリに配置しています。

まず、JavaScript ライブラリ browser.js と player.js を組み込みます。このとき組込み順序がありますので、つぎの記述通りに組み込みを行います。

  1. <script type="text/javascript" src="browser.js"></script>
  2. <script type="text/javascript" src="player.js"></script>

実際のプレイヤーを呼び出している部分は、つぎの記述になります。

  1. <script type="text/javascript"><!--
  2. Flash.FLVPlayer("./", "sample.flv");
  3. Flash.MP3Player("./", "MySong.mp3");
  4. //-->
  5. </script>

FLV プレイヤーは、Flash.FLVPlayer メソッドを、MP3 プレイヤーは、Flash.MP3Player メソッドをそれぞれ呼び出します。各メソッドの書式は、つぎのようになります。

  1. Flash.FLVPlayer(
  2. "./",
  3. "sample.flv"
  4. );
  5. Flash.MP3Player(
  6. "./",
  7. "MySong.mp3"
  8. );
  1. 第1引数: プレイヤ−の配置されているディレクトリ位置(例では、同一ディレクトリなので、"./" を指定しています)
  2. 第2引数: 再生ファイルの URL(例では、同一ディレクトリなのでファイル名のみを指定している)

また、もっとも単純な使用方法で表示されるプレイヤーは、それぞれ以下の大きさ(ピクセル)で固定されています。

  • FLV プレイヤー: 横幅=320、高さ=320
  • MP3 プレイヤー: 横幅=320、高さ=80

プレイヤーの大きさを指定する

プレイヤーの大きさを指定する場合には、プレイヤー呼び出し部分をつぎのように記述します。

  1. <script type="text/javascript"><!--
  2. Flash.FLVPlayer("./", "sample.flv", 320, 320);
  3. Flash.MP3Player("./", "MySong.mp3", 320, 80);
  4. //-->
  5. </script>

つまり、各プレイヤー(FLVPlayer、MP3Player)呼び出しの一般的書式は、つぎのとおりです。

  1. 第1引数: プレイヤ−の配置されているディレクトリ位置(例では、同一ディレクトリなので、"./" を指定しています)
  2. 第2引数: 再生ファイルの URL(例では、同一ディレクトリなのでファイル名のみを指定している)
  3. 第3引数: プレイヤーの横幅(単位:ピクセル)
  4. 第4引数: プレイヤーの高さ(単位:ピクセル)

FLVPlayer の注意

  • FLVPlayer 呼び出し時に第3引数、第4引数を省略した場合は、それぞれ 320 が省略時の値として設定されます。以下の例では、横幅 320 * 高さ 320 のプレイヤーが生成されます。
  1. <script type="text/javascript"><!--
  2. Flash.FLVPlayer("./", "sample.flv");
  3. //-->
  4. </script>
  • 第3引数の横幅指定に、320 より小さい値を指定した場合は、その値は無視されて 320 に設定されます。つまり、横幅に 320 ピクセルより小さい値は指定できません。以下の例では、横幅の 240 が無視されて、横幅 320 * 高さ 320 のプレイヤーが生成されます。
  1. <script type="text/javascript"><!--
  2. Flash.FLVPlayer("./", "sample.flv", 240, 320);
  3. //-->
  4. </script>
  • 第4引数の高さ指定に、240 より小さい値を指定した場合は、その値は無視されて 240 に設定されます。つまり、高さに 240 ピクセルより小さい値は指定できません。以下の例では、横幅の 160、高さの 160 共に無視されて、横幅 320 * 高さ 240 のプレイヤーが生成されます。
  1. <script type="text/javascript"><!--
  2. Flash.FLVPlayer("./", "sample.flv", 160, 160);
  3. //-->
  4. </script>

MP3Player の注意

  • MP3Player 呼び出し時に第3引数、第4引数を省略した場合は、第3引数に 320、第4引数に 80 が省略時の値として設定されます。以下の例では、横幅 320 * 高さ 80 のプレイヤーが生成されます。
  1. <script type="text/javascript"><!--
  2. Flash.MP3Player("./", "MySong.mp3");
  3. //-->
  4. </script>
  • 第3引数の横幅指定に、320 より小さい値を指定した場合は、その値は無視されて 320 に設定されます。つまり、横幅に 320 ピクセルより小さい値は指定できません。以下の例では、横幅の 240 が無視されて、横幅 320 * 高さ 80 のプレイヤーが生成されます。
  1. <script type="text/javascript"><!--
  2. Flash.MP3Player("./", "MySong.mp3", 240, 80);
  3. //-->
  4. </script>
  • 第4引数の高さ指定に、60 より小さい値および 80 より大きい値を指定した場合は、その値は無視されて 80 に設定されます。つまり、高さに 60 ピクセルより小さい値および 80 ピクセルより大きい値は指定できません。以下の例では、横幅の 160、高さの 160 共に無視されて、横幅 320 * 高さ 80 のプレイヤーが生成されます。
  1. <script type="text/javascript"><!--
  2. Flash.MP3Player("./", "MySong.mp3", 160, 160);
  3. //-->
  4. </script>

通常、高さには、60 または 80 を指定するようにして下さい。 65 とか 70 などを指定してもあまり意味がありません。

詳しい使い方

推奨ブラウザのチェックの組込み

ここでは、推奨・非推奨ブラウザのチェックを組込む方法について説明します。

ブラウザのチェックを行い、非推奨ブラウザの場合、メッセージ表示を行うことができます。なお、メッセージ表示の方法には、つぎの2種類の方法があります。

  • チェックを行い、メッセージ(非推奨ブラウザの場合)を、警告ダイアログで表示する
  • チェックを行い、メッセージ(非推奨ブラウザの場合)を、段落(p要素)で表示する

警告ダイアログによる表示

非推奨ブラウザのメッセージを警告ダイアログで表示する場合は、Browser.checkBrowser メソッドの引数に数値"2"を指定して呼び出します。

  1. Browser.checkBrowser(2);

実際には、JavaScript 組込み部分移行の head 要素内に記述するようにします。

  1. <script type="text/javascript" src="browser.js"></script>
  2. <script type="text/javascript" src="player.js"></script>
  3. <script type="text/javascript"><!--
  4. Browser.checkBrowser(2);
  5. //-->
  6. </script>

非推奨ブラウザの場合には、警告ダイアログ内に以下のようなメッセージを表示します。なお、このメッセージは、browser.js を修正すれば、簡単に変更することができます。

お使いのブラウザ環境は検証されていません。正常に表示できない可能性があります。

段落(p要素)として表示

非推奨ブラウザのメッセージを段落(p要素)で表示する場合は、Browser.checkBrowser メソッドの引数に数値"1"を指定して呼び出します。

  1. Browser.checkBrowser(1);

実際には、body 要素内の適当な場所に以下のように記述します。

  1. <script type="text/javascript"><!--
  2. Browser.checkBrowser(1);
  3. //-->
  4. </script>

非推奨ブラウザの場合には、以下のようなp要素を生成してメッセージを表示します。なお、このメッセージは、browser.js を修正すれば、簡単に変更することができます。

  1. <p>お使いのブラウザ環境は検証されていません。正常に表示できない可能性があります。</p>

また、この p要素に特定の id属性を指定したい場合には、Browser.checkBrowser メソッドの第2引数に id属性の値を指定します。

  1. <script type="text/javascript"><!--
  2. Browser.checkBrowser(1, "browserMsg");
  3. //-->
  4. </script>

id属性を指定した場合には、以下のような p要素を生成します。このメッセージに特定のスタイルを適用したい場合には、この id属性の指定を利用します。

  1. <p id="browserMsg">お使いのブラウザ環境は検証されていません。正常に表示できない可能性があります。</p>

Flash プラグインのチェックの組込み

ここでは、Flash プラグインのチェックを組込む方法について説明します。

バージョン 9 以上のFlash プラグインが組込まれているかどおうかのチェックを行い、組込まれていない場合は、メッセージ表示を行うことができます。なお、メッセージ表示には、つぎの2種類の方法があります。

  • チェックを行い、メッセージを、警告ダイアログで表示する
  • チェックを行い、メッセージを、段落(p要素)で表示する

警告ダイアログによる表示

バージョン 9 以上のFlash プラグインが組込まれていない場合、メッセージを警告ダイアログで表示する場合は、Browser.isFlashPlugin メソッドの引数に数値"2"を指定して呼び出します。

  1. Browser.isFlashPlugin(2);

実際には、JavaScript 組込み部分移行の head 要素内に記述するようにします。

  1. <script type="text/javascript" src="browser.js"></script>
  2. <script type="text/javascript" src="player.js"></script>
  3. <script type="text/javascript"><!--
  4. Browser.isFlashPlugin(2);
  5. //-->
  6. </script>

バージョン 9 以上のFlash プラグインが組込まれていない場合には、警告ダイアログ内に以下のようなメッセージを表示します。なお、このメッセージは、browser.js を修正すれば、簡単に変更することができます。

Flash ver.9 or later プラグインがインストールされていません。

段落(p要素)として表示

バージョン 9 以上のFlash プラグインが組込まれていないメッセージを段落(p要素)で表示する場合は、Browser.isFlashPlugin メソッドの引数に数値"1"を指定して呼び出します。

  1. Browser.isFlashPlugin(1);

実際には、body 要素内の適当な場所に以下のように記述します。

  1. <script type="text/javascript"><!--
  2. Browser.isFlashPlugin(1);
  3. //-->
  4. </script>

バージョン 9 以上のFlash プラグインが組込まれていない場合には、以下のようなp要素を生成してメッセージを表示します。なお、このメッセージは、browser.js を修正すれば、簡単に変更することができます。

  1. <p>Flash ver.9 or later プラグインがインストールされていません。</p>

また、この p要素に特定の id属性を指定したい場合には、Browser.isFlashPlugin メソッドの第2引数に id属性の値を指定します。

  1. <script type="text/javascript"><!--
  2. Browser.isFlashPlugin(1, "flashMsg");
  3. //-->
  4. </script>

id属性を指定した場合には、以下のような p要素を生成します。このメッセージに特定のスタイルを適用したい場合には、この id属性の指定を利用します。

  1. <p id="flashMsg">Flash ver.9 or later プラグインがインストールされていません。</p>

プレイヤーの制御

FLVPlayer、MP3Player ともに以下の項目を制御することができます。

  • 自動再生
  • 音量の初期設定
  • ループ再生

オートスタート

オートスタートを制御するためには、Flash.setAutoStart メソッドを使用します。引数に true を指定した場合、プレイヤーを読み込むと自動的に再生が始まります。また、false を指定した場合は、自動再生を行いません。初期状態は、false です。

  1. <script type="text/javascript"><!--
  2. Flash.setAutoStart(true);
  3. Flash.MP3Player("./", "MySong.mp3");
  4. //-->
  5. </script>

音量の初期設定

プレイヤー起動時の音量を制御するためには、Flash.setVolume メソッドを使用します。引数に 0 から 100 までの音量(比率)を指定します。初期状態は、80 に設定されています。

  1. <script type="text/javascript"><!--
  2. Flash.setVolume(50);
  3. Flash.MP3Player("./", "MySong.mp3");
  4. //-->
  5. </script>

ループ再生

再生が終了した後、また最初から再生を繰り返すループ再生を制御するためには、Flash.setLoop メソッドを使用します。引数に true を指定した場合はループ再生されます。また、false を指定した場合には、ループ再生は行われず、再生が終了すると先頭に巻き戻されます。初期状態は、false です。

  1. <script type="text/javascript"><!--
  2. Flash.setLoop(true);
  3. Flash.MP3Player("./", "MySong.mp3");
  4. //-->
  5. </script>

プレイヤーの一括制御

たとえば、「自動再生する、音量の初期設定 50、ループ再生する」の場合、つぎのように記述します。なお、それぞれのメソッドは、プレイヤーの呼び出し以前に記述してあれば、順不同です。

  1. <script type="text/javascript"><!--
  2. Flash.setAutoStart(true);
  3. Flash.setVolume(50);
  4. Flash.setLoop(true);
  5. Flash.MP3Player("./", "MySong.mp3");
  6. //-->
  7. </script>

このようにすべての制御項目を指定する場合には、一括指定できる Flash.setOperation メソッドを利用することもできます。

  1. <script type="text/javascript"><!--
  2. Flash.setOperation(true, 50, true);
  3. Flash.MP3Player("./", "MySong.mp3");
  4. //-->
  5. </script>

Flash.setOperation メソッドの引数は、つぎの書式になります。

  1. 第1引数: 自動再生の指定
  2. 第2引数: 音量の初期設定
  3. 第3引数: ループ再生の設定

プレイヤーの外観設定

プレイヤー全体やボタンの色などの外観を設定することができます。

プレイヤーの色設定(前景色・背景色)

プレイヤーの色(これをプレイヤーの背景色といいます)を設定する場合は、Flash.setBgColor メソッドを使用します。引数には、色コードを "0xRRGGBB" 形式で設定します(引数値を引用符で囲むことに注意して下さい)。

また、プレイヤー上のタイムコード文字列や再生ボタン、停止ボタンの記号の色(これをプレイヤーの前景色といいます)を設定する場合には、Flash.setColor メソッドを使用します。引数には、色コードを "0xRRGGBB" 形式で設定します(引数値を引用符で囲むことに注意して下さい)。以下の例では、背景色を薄い緑(0xccffcc)、前景色を青(0x0000ff)に設定しています。

  1. <script type="text/javascript"><!--
  2. Flash.setBgColor("0xccffcc");
  3. Flash.setColor("0x0000ff");
  4. Flash.MP3Player("./", "MySong.mp3");
  5. //-->
  6. </script>

また、背景色と前景色を一括で指定することもできます。その場合には、Flash.setPlayerColor メソッドを使用します。このメソッドの書式は、つぎのとおりです。

  1. 第1引数: 背景色(引数値を引用符で囲むことに注意して下さい)
  2. 第2引数: 前景色(引数値を引用符で囲むことに注意して下さい)

先の例を、Flash.setPlayerColor メソッドで書き換えるとつぎのようになります。

  1. <script type="text/javascript"><!--
  2. Flash.setPlayerColor("0xccffcc", "0x0000ff");
  3. Flash.MP3Player("./", "MySong.mp3");
  4. //-->
  5. </script>

操作系の色設定(ボタンロールオーバー・ロードバー・プレイバー)

操作系の色設定として、再生、停止ボタンにポインタをロールオーバーしたときの色、再生ファイルローディング状況を表示するロードバー、再生状況を表示するプレイバーの各色を設定することができます。

操作系の色設定として、ロールオーバーしたときの色設定には、Flash.setRollOverColor メソッド、ロードバーの色設定には、Flash.setLoadBarColor メソッド、プレイバーの色設定には、Flash.setPlayBarColor メソッドをそれぞれ使用します。各メソッドの引数には、色コードを "0xRRGGBB" 形式で設定します(引数値を引用符で囲むことに注意して下さい)。

以下の例では、ロールオーバー色に濃い赤("0xcc0000")、ロードバー色に赤("0xff0000")、プレイバーに緑("0x00ff00")を設定しています。なお、実際の色は透過表示されるので、指定した色よりは薄く表示されます。

  1. <script type="text/javascript"><!--
  2. Flash.setRollOverColor("0xcc00cc");
  3. Flash.setLoadBarColor("0xff0000");
  4. Flash.setPlayBarColor("0x00ff00");
  5. Flash.MP3Player("./", "MySong.mp3");
  6. //-->
  7. </script>