midplug-image

LiveConnectについて




LiveConnectとはNetscape社Navigator3.0から採用された技術の名称です。
Liveconnectにより同じページ上にあるプラグイン、Javaアップレット、JavaScriptが相互に通信し合い、より自由度が高く、インタラクティブ性のあるホームページづくりが可能になります。



MIDPLUGではJavaScriptを利用してLiveConnect機能を活用する事ができます。
JavaScriptはHTMLだけではできない様々な機能をホームページに持たせることを可能にするスクリプト言語で、HTMLファイルに直接書き込むことができます。
(Javascriptの詳細についてここで解説することはできませんので、関連の書籍 及びNetscape社のホームページ等をご参照ください。ここではMIDPLUGの機能を呼び出すための例を解説します。)

Netscape社のホームページにはLiveConnect及びJavaScriptの解説ページがあります。



MIDPLUGの下記の機能をメソッド(関数)として定義しそれをJavaScriptから 呼び出すことでMIDPLUGを制御できます。メソッドとして定義されているのは以 下の機能になります。

play(loop[True or False],'url_to_song') 再生ボタンと同じ働きをします。
  • loopはtrueの時loopします。
  • url_to_songは再生する曲データのあるURLを記入します。
  • パラメータの省略が可能は可能で、その時'loop'はtrue、再生は現在
    ロードされているものとします。
stop() 停止
pause() ポーズ
setvol(int percent) ボリュームを整数値で設定します
volumeup() ボリュームアップ
volumedown() ボリュームダウン
tempoup() テンポアップ
temporeset() テンポを元に戻す
tempodown() テンポダウン
pitchup() キー半音アップ
pitchreset() キーを元に戻す
pitchdown() キー半音ダウン
IsReady() プラグインが動作可能の時、値"true"を返す
IsPlaying() 曲が再生中の時、値"true"を返す
IsPause() 曲が一時停止中の時、値"true"を返します
GetVolume() 現在のボリュームの値を取得します



以下にもっともシンプルな使用例のソースファイルを示します。

<html>
<head>
<title>YAMAHA MIDPLUG Sample</title>

<script language="Javascript">
<!--

function play_sound(){
document.embeds[0].play('testsong.mid')
}

function stop_sound(){
document.embeds[0].stop()
}

//-->
</script>

</head>

<body bgcolor=#ffffff>
<center>
<br><br>

<font size=+2><b>
<a href="javascript:play_sound('testsong.mid')">Play</a>
<a href="javascript:stop_sound()">Stop</a>
</b></font>

<embed src='testsong.mid' width=150 height=40 autostart=false text=MIDPLUG3>

</center>
</body>
</html>



 上記の文をSimpleText等にコピー・ペーストして、実際に使用してみてください。
 ('testsong.mid'は、実際に使用するMIDIファイルの名前に変更して下さい。)

上記のheadタグ内に書いてある
<script language="Javascript">
</script>
というのはJavascriptを記述するときのタグで、このタグ内にJavascriptを記述します。

<!--
//-->
はJavascriptに対応していないブラウザへの配慮で記述するものです。このタグを書いておけば間に挟まれたJavascriptは非対応ブラウザではコメントとして扱われます。



さて、本題のスクリプトの内容です。まず、headタグのなかではこのページで使用されるメソッド(関数)の定義をしています。

function play_sound(){
document.embeds[0].play('testsong.mid')
}

の部分ですが、「function play_sound()」で「play_sound()」はメソッド(関数)ですよと宣言しています。
そのメソッド(関数)の内容は次の{ }の中に記述されます。{ }の中を見てみましょう。

document.embeds[0].play('testsong.mid')

となっています。

まずdocumentですが、これはJavascriptではそのJavascriptが書かれているHTMLファイル自身をさします。

次にembeds[0]です。これは実際にembedでよびだされるプラグインをさします。この場合はMIDPLUGになります。
[0]が意味するのは、そのページ内で一番上に書かれているembed分ということです。もし同じページにもう一つ
embedタグがあればそれは2番目として、embed[1]と特定されます。つまり番号は0から始まっています。

次にplay('testsong.mid')ですが、これが、上の表で定義されていたMIDPLUGの再生を意味するメソッドです。

この3つがピリオドで結ばれていますが、全体を解釈すると
「このページの1番目にembedされているプラグインのplay()メソッドを実行する。playする曲は'testsong.mid'だよ」
という意味になります。

次の
function stop_sound(){
document.embeds[0].stop()
}
も同様に解釈できて
「関数 stop_sound()とはこのページの1番目にembedされているプラグインのstop()メソッドを実行するものである。」
という意味になります。


これでこのページで使用するメソッド(関数)の定義ができました。
これらのメソッドをどのタイミングで呼び出すかはbodyタグの中で指定してあります。
それが、

<a href="javascript:play_sound('testsong.mid')">Play</a>
<a href="javascript:stop_sound()">Stop</a>

の部分になります。

<a href=>のあとには普通リンク先を指定して</a>との間に挟まれた部分、この場合「play」を
押す事でリンク先に飛んでゆく事ができますが、上記のように書くと上のheadタグ内で定義した
メソッド(関数)を呼び出す機能になります。したがって「Play」を押すと、

「このページの1番目にembedされているプラグインのplay()メソッドを実行 する。playする曲は'testsong.mid'だよ」

の内容が実行されMIDPLUGが曲を再生し始めるわけです。
「Stop」を押した場合も同様です。



以上一番シンプルな例をご紹介しましたが、MIDPLUGを抜きにしてもJavascriptではもっといろいろなことができます。
その中でMIDPLUGの受けることのできるメソッドを利用して様々なページを作成することが可能だと思います。
ちょっ難しいと感じられた方もいらっしゃると思いますが、まずは簡単なものからチャレンジして見てください。
YAMAHAホームページのサンプルギャラリーには、もう少し手の込んだ例もありますのでソースをみて研究して見てください。







 本文に戻る 




Copyright(C)1996-1997 YAMAHA CORPORATION All rights reserved.