IndexFAQRegistrerenInloggen

Deel | 
 

 mp3 speler in flash

Ga naar beneden 
AuteurBericht
kokkie

avatar


BerichtOnderwerp: mp3 speler in flash   zo maa 29, 2009 4:52 am

Geluid inladen in flash
Om een geluid in flash binnen te halen en te kunnen "bedienen" (volume, balans, pauze, etc) maken we eerst een "new Sound" object aan en geven de exacte naam van ons mp3'tje.

geluid = new Sound();
geluid.loadSound("jeLiedje.mp3", true);

"true" in bovenstaande code geeft aan of de mp3 gelijk moet gaan spelen of eerst helemaal gedownload moet worden om te gaan spelen.
Als je "true" kiest gaat de mp3 gelijk spelen, met als nadeel dat het nogal met horten en stoten kan gaan bij een trage connectie.
Als je "false" kiest word de mp3 eerst helemaal gedownload, en heb je een smooth geluid, met als nadeel dat je wel lang moet wachten voordat je iets hoort.


--------------------------------------------------------------------------------
Start en stop knoppen
Nu we ons geluid binnen hebben willen we natuurlijk ook wel een start- en stopknop natuurlijk.
Dus maak die buttons, geef ze de instance namen "startKnop" en "stopKnop" mee, en plaats volgende code in een keyframe op de main timeline.




geluid = new Sound();
geluid.loadSound("jeLiedje.mp3", true);

geluid.stop(); //als je niet wilt dat het geluid direct gaat spelen, als je dat wel wilt, gewoon deze regel weghalen.

stopKnop.onRelease = function() {
geluid.stop();
};

startKnop.onRelease = function() {
geluid.start();
};


--------------------------------------------------------------------------------
Volume regelen
Zo nu heb je al een player die je kan aan en uitzetten, dan gaan we er nu eens een volumeknop bijmaken.
Deze tut gaat niet over het maken van sliders etc, maar ervanuitgaande dat je een slider hebt gemaakt/gevonden, die ook nog een "waarde" kan genereren, dan kunnen we die waarde gebruiken om via
geluid.setVolume(waarde);
het volume bepalen.


geluid.setVolume(waarde);

setVolume(100); //is het hardste wat je kan zetten.
setVolume(0); //is het zachtste wat je kan zetten.



--------------------------------------------------------------------------------
Panorama
Nu kunnen we er zelfs nog een "panorama" knop bijmaken, ook die nam ik uit de common library en via
geluid.setPan(waarde);
kun je het panorama bepalen.

geluid.setPan(waarde);

setPan(-100); //en je hoort alleen het linker kanaal.
setPan(100); //en je hoort alleen het rechter.
setPan(0); //en je hoort beide kanalen even hard.


--------------------------------------------------------------------------------
Pauze
En dan nu de pauze knop, die is al iets meer tricky, want je moet de positie bepalen waar en op welk moment je precies op "stop" hebt geklikt, en zodra je weer op start klikt moet hij wel weer "daar" beginnen.
Dat doen we als volgt.
Met het flash cmd "position" krijg je de huidige playhead positie in millisecondes.
Dus als we op onze nieuwe pauzeKnop klikken gaan we eerst die huidige positie bepalen door volgende AS te gebruiken



pauzeKnop.onRelease = function() {
huidigeTijd = geluid.position/1000; //delen door 1000 omdat het milliseconden zijn
geluid.stop();
};

//Om ons muziekje dan weer op "dat" moment te laten starten gebruiken we het volgende AS:
startKnop.onRelease = function() {
geluid.start(huidigeTijd, 0); //de 0 in deze regel is optioneel en geeft aan of het geluid moet "loopen" of niet.
};

stopKnop.onRelease = function() {
geluid.stop();
huidigeTijd = 0; //Anders begint de audio niet aan het begin (wat wel hoort als je op stop klikt)
};


--------------------------------------------------------------------------------
Snel spoelen
Voor een FastForward en een Rewind functie kunnen we ook de huidigeTijd gebruiken.
Door nu een onEnterFrame functie te maken met diverse if loopjes.
Onderstaande zal wel eea verduidelijken. (maak natuurlijk ook een ffKnop en een rewKnop)

Met geluid.duration kunnen we de lengte van ons audio object achterhalen.

this.onEnterFrame = function() {
//Rewind
if (rewind == 1 && huidigeTijd>0) {
geluid.stop();
huidigeTijd = huidigeTijd-.5;
geluid.start(huidigeTijd, 0);
}
rewKnop.onPress = function() {
rewind = 1;
huidigeTijd = geluid.position/1000;
};
rewKnop.onRelease = function() {
rewind = 0;
};
//Fast Forward
if (fastforward == 1 && geluid.position<geluid.duration) {
geluid.stop();
huidigeTijd = huidigeTijd+.5;
geluid.start(huidigeTijd, 0);
}
ffKnop.onPress = function() {
fastforward = 1;
huidigeTijd = geluid.position/1000;
};
ffKnop.onRelease = function() {
fastforward = 0;
};
};

--------------------------------------------------------------------------------

ID3 tags

In een mp3 file (kunnen) verschillende stukjes informatie zitten, zoals bijvoorbeeld de artiest, songnaam en album.
Een aantal van die gegevens zie je ook als je een mp3 in je normale mp3speler afspeelt.
Ook die gegevens kunnen we via AS uitlezen.

Om alle id3 tags uit te lezen moeten we eerst een functie aanmaken.

geluid.onID3 = function(){
for ( var prop in geluid.id3 ){
trace( prop + " : "+ geluid.id3[prop] );
}
} //als je dit stukje codeloslaat in flash krijg je een hele waslijst te zien met alle gegeven informatie.

Natuurlijk hoeven we niet al die info te hebben omdat er ook een hoop minder interesante informatie bij staat, we kunnen ook meer gericht informatie opvragen door bijvoorbeeld alleen de artiestennaam, de songtitel en het het album op te vragen door :

geluid.onID3 = function(){
artiest = geluid.id3.TPE1;
titel = geluid.id3.TIT2;
album = geluid.id3.TALB;
jaartal = geluid.id3.TYER;
genre = geluid.id3.TCON;
//deze gegevens tonen we in een tekstvak met de instancenaam "info".
info.text = artiest+"\n"+titel+"\n"+album+"\n"+jaartal+"\n"+genre ;
}


Voila nu hebben we een mp3 speler in flash die alles kan wat een normale mp3 speler behoort te kunnen.
Er zou nog een klein detail kunnen worden toegevoegd aan dit verhaal, namelijk:
geluid.onSoundComplete = function(){ //actions hier }
Zodra het nummer is afgelopen kan je dus iets laten gebeuren, zoals bijvoorbeeld een nieuwe sound inladen.


--------------------------------------------------------------------------------
Het media component
We kunnen nu wel zelf een leuke mp3 speler maken, maar stel dat je geen zin hebt om al die codes in te voeren, en om knoppen te tekenen, dan kan je ook nog altijd een media component gebruiken van flash zelf, die heeft al een volume-, pauze-, start- en stop knop ingebouwd.
Drag & drop vanuit het components scherm(ctrl+f7) een MediaPlayback component op de main scene, en geef deze een instance naam (player bijvoorbeeld).

Nu kunnen we via het AS panel dit component verder "instrueren" wat te doen.
Hieronder staan de belangrijkste commands om je media component te gebruiken via AS.
player.setMedia("jeLiedje.mp3");
player.autoPlay = false;
player.pause();
player.stop();
player.play();
player.volume = 100;
player.complete = function(){ //actions hier }
player.controllerPolicy = "on"; //off zijn geen controllers, en auto dat show/hiden de controls als je eroverheen gaat.
player.controlPlacement = "bottom"; //default is bottom, andere opties zijn left, right en top.


Er zijn nog veel commando's, maar dit zijn zo'n beetje de meest gebruikte.


Bron Uit: sitemasters
Terug naar boven Ga naar beneden
 
mp3 speler in flash
Terug naar boven 
Pagina 1 van 1

Permissies van dit forum:Je mag geen reacties plaatsen in dit subforum
ACB-Team :: Handleidingen :: Guides :: HTML en FLASH-
Ga naar:  
Gratis forum maken bij Actieforum | © phpBB | Ondersteuningsforum | Contact | Meld misbruik | Je eigen gratis blog beginnen