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;
}
}
また使うときがありそうなのでメモっておきます。
仕様としては、
・ボタンは再生/停止ボタン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;
}
}
コメントする