JAVAスクリプトで音を鳴らすには?

[上に] [前に] [次に]
れん+ [E-Mail] 2000/03/18(土) 08:31:42
質問です。
JAVAスクリプトの中で使われている、switch文等の中で、音を鳴らす方法(命令?)ってあるんでしょうか?

例えば、
--------------------
switch(aaa){
   case "1":
(ここでサウンド1を再生)
      break;
    case "2":
(ここでサウンド2を再生)
      break;
default:
--------------------
みたいな感じで・・・・

最近いろんなHPを見て、新しく自分でもHPを作りたいなと思いはじめて、どうせ作るならJAVAスクリプトなんかも使っていろいろおもしろい事してみたな。と思い、いろんなサイトでフリーのスクリプトを自分なりにいろいろ改造していってたのですが、読めるのは読めるのですが、新しく作るというのは難しい物で。。
改めて自分の無能さを痛感させられました。
そこで、ここの基本編のJAVAスクリプトの処を見てもちんぷんかんぷんで・・・(^^;
検索で「音」で検索したりしていろいろ調べてみたんですが、どうしてもわからないので。
もしよろしければ、どなたかご教授宜しくお願いいたします。m(_ _)m

Ichi 2000/03/19(日) 06:51:25
document.open, write, close
などでembedを書いてやれば行けそうですが。

cf) http://www.tohoho-web.com/js/index.htm

Ichi 2000/03/19(日) 06:55:45
>document.open, write, close...
は読みこみ時に限定した方がよさそうです。
隠しフレームを作って、hiddenframe.location.href = 'foo.mid';
とか。

れん+ [E-Mail] 2000/03/19(日) 11:07:19
Ichiさん、レスありがとうございますm(_ _)m
レスを頂いて、早速”document.write”について、調べてみました。(まずそこから始まってしまったので・・(^_^;))
そして、いろいろとやってみたのですが。。
2時間程格闘した末。

----------------------------------------------------
<script>
function a(x){
switch(x){
case 1:
document.write("<BGSOUND SRC=type.wav>");
break;
case 2:
document.write("<BGSOUND SRC=type.wav>");
break;
}}</script>
<input type=button value="music1" onClick="a(1)">
<input type=button value="music2" onClick="a(2)">
----------------------------------------------------

こんな感じな物を作ってみたのですが、少し問題が。。。(^_^;)
(ごめんなさい、あんまし詳しくないので、自分なりに結構調べてやってみたんですが、、、)

1:まず、ボタンを押すとページが切り替わり、次のページで止まってしまう。(なので、「戻るボタン」を押して、前のページに戻らないと、もう一度再生できない。(ボタンを押せない))

2:”document.write("<BGSOUND SRC="type.wav">");”とすると、何故かエラーがでてしまう・・・・。

3:”<EMBED src=return.wav>”とすると、再生ボタンのような物がでてきてページが切り替わってしまう。。(ここでも、”<EMBED src="return.wav">”とすると、エラーがでてしまいました。。)

この辺が、どうもわからなくて。。

あと、Ichiさんの二つ目のレスは、どうして良いかわからなかったので・・。すいません。

無知な私ですが。もしよろしければ、どなたか解決方法教えていただけないでしょうか。m(_ _)m

zizz... [HomePage] 2000/03/19(日) 12:11:47
LiveAudioであれば、
<EMBED  SRC="sound01.mid" NAME="mySound" MASTERSOUND HIDDEN=TRUE>
とすると、JavaScript からは
document.embed["mySound"]
で参照できる。

play(LOOP, URL)
LOOP: true, false かループする回数(数字)
URL : Sound の URL
というメソッドを持っている。

// src には URL を入れる。
function changeSound(src)
{
    document.embeds["mySound"].play(false, src);
}

changeSound("sound01.mid") と呼び出す。

ただし、
1. ブラウザはNetscape
2. バージョンは 3 か 4
3. JavaScript を有効にしている
4. Javaも有効にしている
という条件があります。
Javaが有効じゃないといけないのは、JavaScriptからPluginへのアクセスは
Javaを経由しているからです。

他にもいろいろメソッドを持っているので、詳しいことは
http://emerald.net/liveaudio/
を参照してください。

れん+ [E-Mail] 2000/03/19(日) 17:53:33
本当に恐縮なのですが・・・。
出来ればネスケとIE両方で再生できるようにしたいんです。。
LiveAudioって言うのは、ネスケでしか使えないんでしょうか・・。(すいません。無知で。。)

↑のスクリプトなんですが、なにかもっと簡単なところで間違ってるのでしょうか?
ドキュメントってレスで書かれたとき、内心「ドキュメントって何?」とか思っていた位なので・・・(^_^;)

こんな私ですが、JAVAスクリプトを使ってみたいので。。
だいたいの流れが読めるくらいでは、まだJAVAスクリプトに手を出すのは早いのでしょうか?

まだまだ。他の人のスクリプトいじるくらいしかできないのですが。。。

zizz... さん、せっかく貴重な時間を割いていただいたのに、本当に申し訳ないです。m(_ _)m

ふじ 2000/03/19(日) 18:08:33
RealAudioのプラグインが入っていると言う前提ならば
IE, NN 両方でできます。

<embed name="mysound" src="sound.rpm" width=200 height=100">

としておいて、JavaScript で
document.embeds['mysound'].DoPlay();
で。
sound.rpm はテキストファイルで、
http://hoge.fuga/sound.ra
のように、一行に一つの ra ファイルの在処を指定します。

確か www.real.com の中のどこかに情報があったはず…

# これも、NN では Javaが有効になっていないと動作しません。

Fishbone [E-Mail] [HomePage] 2000/03/20(月) 00:17:49
IEでも、EMBEDの再生・停止などは制御できます。
HTML部分
    <EMBED NAME=snd ......>
JavaScript部分
    document.embeds['snd'].FileName="abc.wav"
のようにします。詳しくは、for(i in object)で調べてみるのがよいかと思います。膨大な量の下位オブジェクトが用意されてます。ネスケより制御する命令は多いようですが、ループさせるか否かの命令はまだ見つけられてません(^^;

[上に] [前に] [次に]