MP3 PREHRAVAC S EKVALIZEROM A XML ZOZNAMOM       as3 , xml


     Táto prvá časť actionscriptu načíta všetky pesničky z xml zoznamu spolu s ich názvami a menami autorov. Je dôležité aby názvy pesničiek presne sedeli so samotnými názvami mp3 súborov , zatial čo mená autorov môžu byť ľubovolné. Každá z týchto pesničiek je pridaná do list komponentu a je označená číslom, názvom a menom autora a je automaticky vybraná prvá skladba v poradí. Teraz označte druhý frame a naň vložte tento script:



songURL = new URLRequest("mp3_files/" + trackToPlay + ".mp3"); 


Táto časť načíta novú pesničku potom ako je označená v list komponente. Teraz vyberte posledný prázdny frame a vložte poslednú čast actionscriptu.


	 
stop();
var snd:Sound = new Sound();
var channel:SoundChannel;
var context:SoundLoaderContext = new SoundLoaderContext(5000, true);
snd.load(songURL, context);
channel = snd.play(pausePosition);
 
list.addEventListener(Event.CHANGE, itemClick);

function itemClick (event:Event):void {
	channel.stop(); // stop play
	Rtext.status_txt.text = "Now Playing: " + event.target.selectedItem.label + ".mp3";
	trackToPlay = event.target.selectedItem.songString;
	Rtext.gotoAndPlay(1);
	gotoAndPlay(2);
}


stop_btn.addEventListener(MouseEvent.CLICK, stopPlayer);
function stopPlayer (event:MouseEvent):void {
	channel.stop();
	Rtext.gotoAndStop(240);
}

channel.addEventListener(Event.SOUND_COMPLETE, onCompletePlayback);

function onCompletePlayback (event:Event):void {
	newTrack();
}
function newTrack():void {
	 if (list.selectedItem.songNum == i) { 
         channel.stop();  
		 var selectFirst = new Array (0,0); 
         list.selectedIndices = selectFirst; 
		 list.scrollToIndex(0);
		 trackToPlay = list.selectedItem.songString; 
		 Rtext.status_txt.text = "Now Playing: " + list.selectedItem.label + ".mp3";
	     gotoAndPlay(2); 
	 } else {
         channel.stop();  
		 var sn:uint = list.selectedItem.songNum; 
		 var selectNext = new Array (sn,sn); 
         list.selectedIndices = selectNext; 
		 list.scrollToIndex(sn);
		 trackToPlay = list.selectedItem.songString; 
		 Rtext.status_txt.text = "Now Playing: " + list.selectedItem.label + ".mp3";
	     gotoAndPlay(2); 
	 }
		pausePosition = 0;
} 

addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(event:Event):void {


    eqBarLeft1.gotoAndStop (Math.round(channel.leftPeak * 10) );
    eqBarRight1.gotoAndStop (Math.round(channel.rightPeak * 8) ); 
	eqBarLeft2.gotoAndStop (Math.round(channel.leftPeak * 7) ); 
    eqBarRight2.gotoAndStop (Math.round(channel.rightPeak * 7) ); 
	eqBarLeft3.gotoAndStop (Math.round(channel.leftPeak * 8) ); 
    eqBarRight3.gotoAndStop (Math.round(channel.rightPeak * 10) ); 

}


    Riadky 3-7 definujú nový sound objekt a priradia ho k novému zvukovému kanálu. Riadky 9-17 vytvoria event listener funkciu. Ak sa klikne na niektorú z pesničiek v liste, tá zmení práve hrajúcu pesničku na novú ktorá bola práve označená. Riadky 20-24 su funkcia pre stop tlačidlo. Zastaví práve hrajúci zvuk a posunie Rtext movieclip na prázdny frame. Na riadkoch 28-51 je funkcia ktorá kontroluje či už pesnička dohrala a načíta novú, v poradí nasledujúcu skladbu a tiež zmení bežiaci text. Posledná časť scriptu rozpohybuje stĺpce ekvalizéra podľa výšok v pravom a ľavom zvukovom kanále.

    Poslednou časťou ktorú potrebujeme je xml zoznam. Ako som už spomenul názvy skladieb musia súhlasiť s mp3 súbormi v mp3_files zložke. Mená skladateľov / interpretov sú nepovinné.






     A year ago
     Pitx


 


    Tento xml kód reprezentuje jednu skladbu v liste. Kopírovaním riadkov 4-7 medzi xml tagmi možno pridávať ďalšie pesničky do zoznamu. Jednoducho vytvorte nový xml súbor a vložte doň tento kód. V prípade potreby všetky vyžadované súbory sú na stiahnutie v zdrojovom súbore vrátane xml,*.fla a aj mp3 pesničiek.


STIAHNUT ZDROJOVY SUBOR


PREDCHADZAJUCA STRANA 2/2