「なでしこ」で音楽再生。その回数は4。

さて、音楽再生4回目。
今回は曲選択にもボタンを付けましょう。
もうボタンをつけるだけなら10秒ですね。
再生フラグは0。
曲選択ボタンとはボタン。
そのテキストは「曲選択」。
これをクリックした時は
「*.mp3;*.wav;*.wma」のファイル選択を対象曲に代入。
もし、それが空なら終わる。
対象曲を「整理券番号1番」でMCI開く。
プレイボタンとはボタン。
そのテキストは「再生」。
これをクリックした時は
もし、再生フラグが0なら、
「play 整理券番号1番」をMCI送信。
再生フラグは1。
停止ボタンとはボタン。
そのテキストは「停止」。
これをクリックした時は
もし、再生フラグが1なら、
「stop 整理券番号1番」をMCI送信。
「seek 整理券番号1番 to 0」をMCI送信
再生フラグは0。
母艦を閉じた時は〜
「整理券番号1番」をMCI閉じる。
と、このままで実行させると不具合がおきる、というのがこのブログでの流れです。
今回の不具合
・曲選択する前に、再生、終了をすると、MCIが開いていないのにMCIを(使おう|閉じよう)としたと言うエラーになります。
・曲選択した後、もう一度曲選択をするとMCIを二重に開いたと言うエラーになります。
と、いつもの通りこのエラーを回避させましょう。
今回は前に出た「MCIフラグ」を再登場させます。
MCIが開いてるか閉じてるかを示すフラグと、再生中か停止中か示すフラグの2本を使う訳です。
再生フラグは0。
MCIフラグは0。
曲選択ボタンとはボタン。
そのテキストは「曲選択」。
これをクリックした時は
「*.mp3;*.wav;*.wma」のファイル選択を対象曲に代入。
もし、それが空でないなら
もし、MCIフラグが1なら、「整理券番号1番」をMCI閉じる。
対象曲を「整理券番号1番」でMCI開く。
MCIフラグは1。
再生フラグは0。
プレイボタンとはボタン。
そのテキストは「再生」。
これをクリックした時は
もし、MCIフラグが1なら
もし、再生フラグが0なら、
「play 整理券番号1番」をMCI送信。
再生フラグは1。
停止ボタンとはボタン。
そのテキストは「停止」。
これをクリックした時は
もし、MCIフラグが1なら
もし、再生フラグが1なら、
「stop 整理券番号1番」をMCI送信。
「seek 整理券番号1番 to 0」をMCI送信
再生フラグは0。
母艦を閉じた時は〜
もし、MCIフラグが1なら「整理券番号1番」をMCI閉じる。
これで問題解決。
次回は再生中の曲名を表示させてみたりしますか?するかもしれません。