ActionScript2 + xml でmp3プレイヤーができたくさい。

| | トラックバック(0)

今日はタイトル通り「ActionScript2 + xml でmp3プレイヤー」ができたくさい。
FLASH初心者としてこれはぜひ作っておきたいものでした。

サンプル





とりあえず今日は疲れたので明日イロイロ書きます。
まだまだ勉強が必要です。( -ω-)y─━ =3
ソースは以下です。

xml

<?xml version="1.0" encoding="UTF-8"?>

<songs>

<song url="sheLooksToMe.mp3" track="this is war1" artist="this is war" />
<song url="sheLooksToMe.mp3" track="this is war2" artist="this is war" />
<song url="sheLooksToMe.mp3" track="this is war3" artist="this is war" />

</songs>


ActionScriptコード(汚いです。)

import com.mosesSupposes.fuse.*;
ZigoEngine.register(Fuse,PennerEasing,FuseFMP);

//#include "mp3Player.as"

//Setup sound object
var s:Sound = new Sound();
s.onSoundComplete = nextSong;
s.setVolume(vn);

var home:MovieClip = this;

var mc:MovieClip = new MovieClip();

//Array os song
var sa:Array = new Array();

//Currently playing song
var n:Number = 1;

//position of music
var pos:Number;

//Volume
var vn:Number = 60;

//Load the songs XML
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function() {

var nodes = this.firstChild.childNodes;
for (var i = 0; i<nodes.length; i++) {

sa.push(new Song(nodes[i].attributes.url, nodes[i].attributes.artist, nodes[i].attributes.track));
}
playSong(n-1);
initMenu(sa);

};

xml.load("songs.xml");

//PlayList作成

PL._x = 125;
var f:Fuse = new Fuse();
f.push([{target:PL, x:0, ease:"easeOutElastic", delay:1.6}, {target:PL.LB, rotation:180, ease:"easeOutElastic", delay:0.4}]);
f.push({target:PL.LB, rotation:360, ease:"easeOutElastic", time:2});
f.start();
PL.setMask(masker);

var menuMax:Number;

function initMenu(sa:Array) {
menuMax = sa.length;
for (var i:Number = 0; i<menuMax; i++) {
mc = home.PL.attachMovie("node", "node"+i, i);
mc._x = 80;
mc._y = 35+mc._height*i;
mc.now._alpha = 0;
mc.plNum.text = i+1;
mc.n = i;
mc.pltitle.text = sa[i].track;
var f:Fuse = new Fuse();
f.push({target:mc, ease:"easeOutExpo", delay:1.2*i});
f.start();
mc.onRelease = function() {
Released(this.n);
};
mc.onRollOver = function() {
Rolled(this.n);
};

}
}

function Released(n:Number) {

playSong(n);
}

 

function Rolled(n:Number) {

this["mc"+n].now._alpha = 100;

}

 

PL.LB.onRelease = function() {

if (PL._x == 0) {

var f:Fuse = new Fuse();
f.push([{target:PL, x:125, ease:"easeOutElastic", delay:0.4}, {target:PL.LB, rotation:180, ease:"easeOutElastic", delay:1.6}]);
f.start();

} else {
var f:Fuse = new Fuse();
f.push([{target:PL, x:0, ease:"easeOutElastic", delay:0.4}, {target:PL.LB, rotation:360, ease:"easeOutElastic", delay:1.6}]);
f.start();
}
};

//Play MP3 File
function playSong(n:Number):Void {

s = new Sound();
s.onSoundComplete = nextSong;
s.setVolume(vn);
//trace(vn);
//trace(sa);

var max = sa.length;

if (n == undefined) {
n = 0;
s.loadSound(sa[n].earl,true);
trackInfo.text = sa[n].track;
artist.text = sa[n].artist;
playPause.gotoAndStop(2);

} else if (n<=sa.length-1) {

s.loadSound(sa[n].earl,true);
this[mc+n]._alpha = 100;
//trace(n);
trackInfo.text = sa[n].track;
artist.text = sa[n].artist;
playPause.gotoAndStop(2);
//trace(n);

}
function nextSong() {

playSong(n+1);
}
}

 

//Music Controls

//PlayPause toggle
playPause.onRelease = function() {

if (this._currentframe == 2) {

this.gotoAndStop(1);
pauseIt();
} else {
this.gotoAndStop(2);
unPauseIt();
}
};

//Next Button

/*nextBt.onRelease = function() {
playSong(n-1);

};*/

//Pauses Music
function pauseIt():Void {
pos = s.position;
s.stop();
}

//unPauses Music
function unPauseIt():Void {
s.start(pos/1000);
}

//Mute Button
/*mute.onRelease = function() {

if (this._currentframe == 1) {

this.gotoAndStop(2);
s.setVolume(0);

} else {

this.gotoAndStop(1);
s.setVolume(80);

}
};*/

//Volume controls

var my_interval:Number;

my_interval = setInterval(updateProgressBar, 100, s);

function updateProgressBar(the_sound:Sound):Void {
var pos:Number = Math.round(s.position/s.duration*100);
line._xscale = pos;
//this.addZero(loadNum.text = pos+"%" + " loaded " );
}

function addZero(n) {
var temp;
if (n<10) {
temp = "0"+n;
} else {
temp = n;
}
return (temp);
}

 

knob_mc.knob.left = knob_mc._x-175;
knob_mc.knob.right = knob_mc.knob.left+144;
knob_mc.knob.top = knob_mc.knob._y;
knob_mc.knob.bottom = knob_mc.knob._y;

knob_mc.volumeTxt.text = s.getVolume();

knob_mc.knob.onPress = function() {
knob_mc.knob.startDrag(false,this.left,this.top,this.right,this.bottom);
knob_mc.knob.isDragging = true;

};

knob_mc.knob.onMouseMove = function() {

vn = this._x;
if (this.isDragging) {
knob_mc.volumeTxt.text = vn;
s.setVolume(vn);

}
};

knob_mc.knob.onRollOut = knob_mc.knob.onReleaseOutside=function () {
knob_mc.knob.stopDrag();
knob_mc.knob.isDragging = false;
};


トラックバック(0)

このブログ記事を参照しているブログ一覧: ActionScript2 + xml でmp3プレイヤーができたくさい。

このブログ記事に対するトラックバックURL: http://alwaysfinetuning.com/mt/mt-tb.cgi/32

このブログ記事について

このページは、が2008年4月30日 21:10に書いたブログ記事です。

ひとつ前のブログ記事は「Soul sides」です。

次のブログ記事は「 ActionScript2 + xmlでFlvプレイヤー」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。