Flash:音楽再生ボタン
2009.03.26
フラッシュで、最低限の音楽再生の機能をつけてみました。

また使うときがありそうなのでメモっておきます。

仕様としては、

・ボタンは再生/停止ボタン1つのみ(切り替え)
・ロードが終わったら再生可能
・再生中にボタンを押すと一時停止、もう一度押すとそこから再生
・最後まで再生してからボタンを押すと最初から再生

こんな感じです。
再生中のボタン操作は、一時停止と完全停止とどっちがいいんでしょう?


ちょっと長そうなので続きます


1.再生/停止ボタンを作る

1フレーム目に再生ボタンの画像、2フレーム目に停止ボタンの画像を置いたMCを用意し、stop(); で止めておきます。
インスタンス名は btn_play などにします。


2.スクリプトを書く

ボタンを置いた階層に以下のスクリプトを書きます。


//初期設定
var play = false;
btn_play.enabled = false;
btn_play._alpha = 70;


// サウンドオブジェクトを作成
var sound_obj = new Sound(this);


function soundLoading(pass){
sound_obj.stop();
sound_obj.loadSound(pass,false);
play = false;
}

//ファイルの読み込み
soundLoading("音楽ファイルのパス");



onEnterFrame = function(){
//読み込みが終わったらボタンを有効に
var loaded = sound_obj.getBytesLoaded();
var total = sound_obj.getBytesTotal();
if(loaded == total){
btn_play.enabled = true;
btn_play._alpha = 100;
}
//再生終了したとき
if(sound_obj.position == sound_obj.duration){
sound_obj.stop();
btn_play.gotoAndStop(1);
btn_play.playPoint = 0;
play = false;
}
}


btn_play.onRelease = function(){
if(play == true){
sound_obj.stop();
btn_play.gotoAndStop(1);
playPoint = sound_obj.position / sound_obj.duration;
play = false;
}else{
sound_obj.stop();
btn_play.gotoAndStop(2);
sound_obj.start(playPoint * sound_obj.duration / 1000);
play = true;
}
}
| コメント(0)

コメントする

※JavaScriptが有効になっている必要があります




月別アーカイブ