HP作成講座、脱初心者編
HPで音を鳴らす。wavファイル編
今回はホームページで音を鳴らしちゃうお話です。
下の、ぴ〜よこちゃんにマウスカーソルを当てると・・・
IIIIIIIII
IIIIII
IIIIII
IIIIII
IIIIII
IIIIII
IIIIII
IIIIII
IIIIII
IIIIIIIII
ひよこ画像→
ふたごの雑貨屋さん
、ゆっこちゃん作。(こんなかわいい素材があるよん!)
「ぴよぴよ」と鳴きます。(IE6で確認済み。古いヴァージョンだと鳴らないかもしれない。)
まず、これに使っているものは・・・
ひよこ画像左向き
piyoikon1l.gif
ひよこ画像右向き
piyoikon1r.gif
ひよこアニメ画像
piyorlanime.gif
音声(ピヨ)ファイル
piyo.wav
JAVAスクリプト
<head>
から
</head>
の間に書く
<script language="JavaScript">
<!--
//音声を鳴らす
function
piyo()
{
document.
hiyoko
.play();
}
//音声を止める
function
pstop()
{
document.
hiyoko
.stop();
}
//連続で音声を鳴らす
function
piyopiyo()
{
document.
hiyoko
.play();
timerID
=setTimeout("
piyopiyo()
;",30 );
}
//-->
</script>
HTML
<body>
から
</body>
の好きなところに
書く
<!--音声ファイルの指定-->
<embed src="pic/
piyo.wav
" autostart=false hidden=true name="
hiyoko
"></embed>
<!--左向きのひよこ画像-->
<img src="pic/
piyoikon1l.gif
" width="13" height="17" border="0" onMouseOver="
piyo()
;" onMouseOut="
pstop()
;">
<!--右向きのひよこ画像-->
<img src="pic/
piyoikon1r.gif
" width="13" height="17" border="0" onMouseOver="
piyo()
;" onMouseOut="
pstop()
;">
<!--左右に動くひよこ画像-->
<img src="pic/
piyorlanime.gif
" width="13" height="17" border="0" onMouseOver="
piyopiyo()
;" onMouseOut="clearTimeout(
timerID
);">
ファイルとして予め用意しておくのは、画像ファイル(ここでは3種類使ってます)、音声ファイルです。
そして、JAVAスクリプトは<head>〜</head>の中に書きます。
HTMLは、<body>〜</body>の中に書きます。
さて、音声ファイル・・今回はWAVEファイル(拡張子 .wav)ですが、以下のような特徴があります。
サンプリングレート(周波数)がいろいろとあります。もしサンプリングレートについて、よくわからなくても、このことだけ知っておいてください。
>これが大きいと・・音質→良、ファイルサイズ→大
>これが小さいと・・音質→悪、ファイルサイズ→小
単位・・Hz(ヘルツ)またはKHz(キロヘルツ)
量子化ビット数も設定できます。もし量子化ビット数について、よくわからなくても、このことだけは知っておいてください。
>これが大きいと・・音質→良、ファイルサイズ→大
>これが小さいと・・音質→悪、ファイルサイズ→小
単位・・bit(ビット)、16bit か 8bit
ステレオかモノラル
>ステレオ・・ファイルサイズ→モノラルの2倍
>モノラル・・ファイルサイズ→ステレオの半分
時間に比例してファイルサイズは大きくなります。
サーバーによっては、アップロードできるファイルの種類を限定している場合がありますので、自分のサーバーには置けない場合もあります。
HPで、このファイルを利用するときはファイルサイズに注意が必要です。ちょっと長い音だと意外なほど大きいファイルサイズになります。
ファイルサイズを小さくするためには、とても短い音で、サンプリングレートをできるだけ小さく(たとえば11KHz)!量子化ビット数も8bit !そして、モノラル!がよろしいようで。。
ちなみに、このページで鳴る「ピヨ」と言う音は、
音の長さ 0.113秒・・・サンプリングレート 11KHz・・・ 量子化ビット 8bit・・・・モノラルになっています。それで、ファイルサイズは、1.25KBです。
そして、この音声ファイルをホームページで鳴らすためには、ページと共にその音声ファイルが読み込まれている必要があります。
その働きをしているのが、上記の表のHTMLのところに書いている、
<embed src="pic/
piyo.wav
" autostart=false hidden=true name="
hiyoko
"></embed>
です。
src
は、
音声ファイルのアドレスを指定します。
autostart
は、
そのページを見たとき自動的に音が鳴り始めるようにするには、
true
を指定。まず音は鳴らさないのなら
false
を指定します。今回の場合は、マウスがひよこ画像に重なる時以外には鳴らさないので、
false
を指定しています。(
autostart
の変わりに
autoplay
と書いても良いです。)
hidden
は、
操作パネルを隠すかどうかです。
true
を指定すると、操作パネルは表示されません。
false
を指定すると↓の様な操作パネルが表示されます。
name
は、
JAVAスクリプトで、この音声を鳴らしたり止めたりするために使います。今回は
hiyoko
と名付けていますが、半角ローマ字で好きなように決めて良い部分です。
その他、ここでは設定していませんが、
align
、
width
、
height
などの属性も設定できます。
そして、JAVAスクリプトで、この
name="
hiyoko
"
とした
<embed>
タグを操作します。
そのために次の3つの関数を用意しています。
//音声を鳴らす
function
piyo()
{
document.
hiyoko
.play();
//hiyokoと名付けたものを再生する
}
//音声を止める
function
pstop()
{
document.
hiyoko
.stop();
//hiyokoと名付けたものを停止する
}
//連続で音声を鳴らす
function
piyopiyo()
{
document.
hiyoko
.play();
//hiyokoと名付けたものを再生する
//1000分の30秒後にこの関数(
piyopiyo()
)を実行するタイマーをセットする
timerID
=setTimeout("
piyopiyo()
;",30 );
}
//この関数は、タイマーが解除されるまで繰り返されることになる
後は、ひよこ画像のタグ<img>に
イベントハンドラ
を設定して、マウスの操作で、この関数が働くようにしています。
<!--左向きのひよこ画像-->
<img src="pic/
piyoikon1l.gif
" width="13" height="17" border="0" onMouseOver="
piyo()
;" onMouseOut="
pstop()
;">
<!--右向きのひよこ画像-->
<img src="pic/
piyoikon1r.gif
" width="13" height="17" border="0" onMouseOver="
piyo()
;" onMouseOut="
pstop()
;">
これらの
<img>
タグには、
onMouseOver="
piyo()
;"
→マウスカーソルがこの画像に重なると、音を再生する関数・
piyo()
を実行するイベントハンドラ。
onMouseOut="
pstop()
;"
→マウスカーソルが画像から離れると、音を停止する関数・
pstop()
を実行するイベントハンドラ。
が、それぞれに設定されています。
<!--左右に動くひよこ画像-->
<img src="pic/
piyorlanime.gif
" width="13" height="17" border="0" onMouseOver="
piyopiyo()
;" onMouseOut="clearTimeout(
timerID
);">
onMouseOver="
piyopiyo()
;"
→マウスカーソルがこの画像に重なると、音を連続再生する関数・
piyopiyo()
を実行するイベントハンドラ。
onMouseOut="clearTimeout(
timerID
);"
→マウスカーソルが画像から離れると、・・・
timerID
=setTimeout("
piyopiyo()
;",30 )
・・このタイマーを解除するイベントハンドラ。(これで
piyopiyo()
の繰り返しが止まる)
が、設定されています。
また、画像ではなく、リンクタグや他のタグにしたり、イベントハンドラを別のものにしたり、いろいろと応用することが出来ます。
例・・・・
<div onClick="piyo();">クリックするとピヨ!</div>
クリックするとピヨ!
<textarea rows="4" cols="22" onKeyDown="piyo();">キー入力でピヨ!</textarea>
キー入力でピヨ!
<a href="#URL" onMouseDown="piyo();">リンクをクリックするとピヨ!</a>
リンクをクリックするとピヨ!
<a href="#URL" onMouseDown="piyo();" onMouseOver="piyo();" onMouseOut="piyo();">ピヨピヨリンク</a>
ピヨピヨリンク
PC−Parkトップ
サイコロTown!トップ
広告
掲示板
花
万馬券
無料
レンタルサーバー
ブログ
blog