二十五歩目 ドレミ♪

 
     さぁてと もうこの題で何をするのかわかるね
     そう、今回はHSPから音を再生するプログラムを作るのだ

〜音楽ファイル再生〜
     まずは この二つの音楽ファイルをダウンロードしてください
     ※したの文字で右クリックをして「対象をファイルに保存」と言うのを押して
     保存先を指定すれば ダウンロードすることが出来ます
      do.wav   re.wav
     do.wavはドの音 re.wavにはレの音が入ってるよ
     
     じゃあプログラムと行こう

	
	mmload "do.wav",0	;do.wav と言うファイルを0に割り当てる
	mmplay 0			;0を再生する
	stop			;とまる

     短いねー
     あっ、音楽ファイルも前の画像ファイルの時と同じで
     プログラムの保存してあるところと 同じ保存場所じゃないと 作動しないよ
            
     さあ説明だ

  mmload "do.wav",0

     これは そのまま簡単だ do.wav と言うファイルを
           (ファイルを指定するときは拡張子.wavも書く) 0と言う数字
     に当てはめると言うことだ(ちょっと難しいな)
     簡単に言うと do.wav と言う名前の変わりに 0 と言う数字を
     使っているのだ。 変数のようだけどそうじゃないんだ
      言うなればウインドウIDのようなものだ
     まあこれだとウインドウIDと言うより音楽IDだね(^^)
     0と言う音楽IDは do.wav だと言ってるようなものだ
      

  mmplay 0

     これも そのまんま
     0と言う音楽ID(音楽IDって 勝手に名前つけていいのかなぁ?)を再生すると言うことだ
     さっきmmload "do.wav",0 とやったので mmplay 0 で 0 を再生すると言うことは
     do.wav を再生するって事だね
     

〜ボタンを使う〜
     さあて それじゃあ ここで「ボタンを押したら 音を鳴らす」
     と言うのを作ってみよう

	
	screen 0,200,50		;ウインドウ0を横200 縦50の大きさにする
	mmload "do.wav",0	;do.wav と言うファイルを0に割り当てる
	mmload "re.wav",1	;re.wav と言うファイルに1を割り当てる
	button "ド",*doo	;ド と言うボタンをつくり 押されたら*doへ飛ぶ
	button "レ",*ree	;レ と言うボタンをつくり 押されたら*reへ飛ぶ
	stop			;止まる
*doo
	mmplay 0		;0を再生する
	stop			;止まる
*ree
	mmplay 1		;1を再生する
	stop			;とまる

     どうでしょう?実行すると 二つボタンが出て来て
     ドのボタンを押すとドの音が レのボタンを押すとレの音が出てきます
     何かわからないことがありますか?まあ簡単に説明します
     最初にウインドウのサイズを変えて、音楽データをそれぞれ数に割り当てて
     ボタンをつくって止まりますね。で ボタンが押されると 指定されたラベルへ飛んで
     音を再生して また止まると こう言うこっちゃ
       えっ? なんかおかしいって?
     「何で何回もボタンが押せて、しかも ちゃんと音が出るか」だって?
     答えはこうです 例えば ドのボタンを押すと ラベル*dooへ飛んで
     mmplay 0 で音を再生してから stopで止まります
     でもボタンはオブジェクトですからcls命令じゃないと画面から消えてくれません
         (前にもこんなこと言ったような・・・・・)
     だからボタンが押されたら必ず指定したラベルへ飛ぶのです
     さっきの例でいうと。ドのボタンを押して ドの音を出してからstopで止まってるときに
     レのボタンを押されたら ラベル*reeへ飛んでレの音を再生して
     またstopで止まって・・・・・・・・と言う繰り返しなのです
     つまりボタンはclsで消さない限り
      ボタンが押されたら指定したラベルへ飛ぶ と言う動作をしてしまうのです
    
     まあ今回はこんなところです

まとめ〜〜〜

       mmload・・・指定したファイルを指定した数字に

              割り当てる

               mmload "do.wav",0

       mmplay・・・指定した数字のファイルを再生する

               mmplay 0

戻る コウザへ ホームへ 次へ