PDA

Volledige versie bekijken : simpel mp3 spelertje


dolly_xxl
%Europe/Berlin %579 %2005, 14:54
hey,

k ben een beginnende flasher, dus sorry voor eventuele "domme" vragen... k heb al wat op de site ( en andere sites ) gezocht maar k vond niet direct iets om mijn probleempjes op te lossen.

K zal effe beginnen met te vertellen wat de bedoeling is:
Een heel eenvoudig mp3 spelertje, waarbij je keuze hebt uit 3 nummers. Deze mp3 zouden streaming moeten worden geladen, zodat ze direct beginnen af te spelen wanneer de site wordt geladen.
Er is ook een mute knop voorzien deze zorgt ervoor dat het het geluid uit fadet ( maar de muziek blijft eigenlijk gewoon verder spelen) en wanneer je er nogmaal op klik zal het nummer terug infaden.
Wanneer een nummer gedaan is, moet automatisch het volgend nummer beginnen spelen

Een poging tot oplossing :

de hele flash file bestaat eigenlijk maar uit 1 frame :
dit is de code die ik al heb op frame 1 :

var my_sound1:Sound = new Sound();
my_sound1.loadSound("http://www.huisartslokeren.be/music/song1.mp3", true);
var my_sound2:Sound = new Sound();
my_sound2.loadSound("http://www.huisartslokeren.be/music/song2.mp3", true);
var my_sound3:Sound = new Sound();
my_sound3.loadSound("http://www.huisartslokeren.be/music/song3.mp3", true);
var my_soundcurrent = new Sound();
var fadeout:Boolean;
fadeout = true;
cross._visible = false;

deze codes staan op op de button1, button2 en button3, maar dan met mysound2 en mysound3

on (release) {
stopAllSounds();
my_sound1.start();
my_sound1.setVolume(100);
my_soundcurrent = my_sound1;
cross._visible = false;
}

op de mute knop staat deze code :

zie post hieronder

Het eerste probleem is dat als je de fla speelt dat de mp3 alle 3 tegelijkertijd beginnen spelen. k heb geprobeerd om stopAllSounds(); ook in de eerste frame te zetten, zonder succes :s - OPGELOST

het tweede probleem is het feit dat als je op de 2de maal op de mute knop klikt het geluid terug zou moeten infaden ... daar vermoed ik dat het iets met een if lus zal zijn, maar k weet niet goed hoe. Ook het out faden weet ik niet goed hoe dat aan te pakken, nu is het gewoon stop all sounds, maar eigenlijk zou het volume gewoon stelsel matig moeten dalen ... - ZO GOED ALS OPGELOST

en het derde probleem: hoe ervoor zorgen dat het volgend nummer automatisch begint te spelen en als dat dan gedaan is weer het volgende enz ... ( t zal iets met onSoundcomplete zijn denk ik ... ) - OPGELOST

Nu was mijn vraag of jullie niet wat tips hebben om mijn probleempjes op te lossen ... want k heb de flash help al wat doorzocht maar daar geraak ik ook niet verder mee ...

Hier (http://www.huisartslokeren.be/music/mp3speler.swf) vinden jullie de swf van wat ik al heb en hier (http://www.huisartslokeren.be/music/mp3speler.fla) de fla. Alle hulp is welkom... Alvast bedankt !

dolly_xxl
%Europe/Berlin %710 %2005, 18:03
Fade out en fade in problem is opgelost :
on (release) {
var i:Number;
if (fadeout) {
i = 100;
while (i>0) {

my_soundcurrent.setVolume(i);
i = i-0.001;
}
my_soundcurrent.setVolume(0);
cross._visible = true;
fadeout=false;
} else {
i = 0;
while (i<100) {
my_soundcurrent.setVolume(i);
i = i+0.001;
}
my_soundcurrent.setVolume(100);
cross._visible = false;
fadeout=true;
}
}

Nu nog mijn andere probleempjes ...

dolly_xxl
%Europe/Berlin %833 %2005, 21:00
het eerste probleem is nu ook opgelost, deze code heb ik gebruikt :

my_sound1.start();
my_sound2.stop();
my_sound3.stop();

Eigenlijk heel simpel ... maw

Dus rest mij nog volgend probleem :

automatisch het volgende nummer beginnen spelen


graag hulp ...

dolly_xxl
%Europe/Berlin %840 %2005, 21:09
Alle problemen opgelost met volgende code op frame 1 :

my_sound1.onSoundComplete = function() {
my_sound2.start();
};
my_sound2.onSoundComplete = function() {
my_sound3.start();
};
my_sound3.onSoundComplete = function() {
my_sound1.start();
};

hopelijk heeft nog iemand anders een beetje nut aan mijn forum bijdragen :)

Ultim-o
%Europe/Berlin %363 %2005, 09:43
Haha lekker bezig dolly_xxl! Hoe heb je dat allemaal zelf kunnen oplossen?

dolly_xxl
%Europe/Berlin %557 %2005, 14:22
Op flashkit.com vond ik deze (http://www.flashkit.com/tutorials/Audio/Flash_MX-Kenny_Be-824/index.php) tutorial waardoor ik wist wat ik juist moest zoeken in de help van flash zelf. In die tutorial stond ook de tip om het fade out effect te hebben ...

Eigenlijk leer je gewoon het meest door zelf te prutsen :)

K heb te vroeg geroepen !
Als je de speler laadt , dan begint gewoon nummertje 1 te spelen als je dan mute doet en dan een hele poos wacht dan begint plots nummer 3 te spelen (na het einde van nummer 2 ) hoewel hij nog steeds op mute staat ... Ik denk dat het iets te maken heeft met het volgende :

my_sound1.onSoundComplete = function() {
my_sound2.start();
};
my_sound2.onSoundComplete = function() {
my_sound3.start();
};
my_sound3.onSoundComplete = function() {
my_sound1.start();
};

De mute werkt enkel namelijk enkel op my_soundcurrent ...

iemand een idee hoe dit op te lossen?
Hier (http://www.huisartslokeren.be/music/mp3speler.swf) de swf en hier (http://www.huisartslokeren.be/music/mp3speler.fla) de fla

dolly_xxl
%Europe/Berlin %739 %2005, 18:44
niemand die me met mn laatste probleem kan helpen.. want ik vind het zelf echt niet !

Ultim-o
%Europe/Berlin %422 %2005, 11:08
www.rawgolf.nl/mp3speler.fla staatie, ik heb het wat aangepast allemaal, probeer maar of het werkt.. ik kon het fadeout gedeelte niet terug vinden trouwens.

dolly_xxl
%Europe/Berlin %442 %2005, 11:36
yups hij doet het !!! hartelijk bedankt !
Toch zou ik er graag nog iets aan veranderen: als je hem nu mute dan stop hij alsnog na het eerste liedje en begint nummertje 2 niet te spelen met volume 0 ( als je begrijpt wat ik bedoel, t is de bedoeling dat de muziek eigenlijk constant doorloopt al dan niet op volume 0)
Het fadeout gedoe, stond op de mute knop, maar k heb die code dan ook maar op frame 1 gezet ( blijkbaar is dat het beste ). Volgende code heb ik dus al ... wat dien ik er nu nog aan t veranderen?

var my_sound1:Sound = new Sound(this);
var my_sound2:Sound = new Sound(this);
var my_sound3:Sound = new Sound(this);
var my_soundcurrent:Sound = new Sound(this);
my_sound1.onSoundComplete = function() {
if (!cross._visible) {
music2_btn.onRelease();
}
};
my_sound2.onSoundComplete = function() {
if (!cross._visible) {
music3_btn.onRelease();
}
};
my_sound3.onSoundComplete = function() {
if (!cross._visible) {
music1_btn.onRelease();
}
};
var fadeout:Boolean;
fadeout = true;
music1_btn.onRelease = function() {
stopAllSounds();
my_sound1.loadSound("http://www.huisartslokeren.be/music/song1.mp3", true);
cross._visible = false;
my_soundcurrent=my_sound1;
};
music2_btn.onRelease = function() {
stopAllSounds();
my_sound2.loadSound("http://www.huisartslokeren.be/music/song2.mp3", true);
cross._visible = false;
my_soundcurrent=my_sound2;
};
music3_btn.onRelease = function() {
stopAllSounds();
my_sound3.loadSound("http://www.huisartslokeren.be/music/song3.mp3", true);
cross._visible = false;
my_soundcurrent=my_sound3;
};
mute_btn.onRelease = function() {
var i:Number;
if (!cross._visible) {
cross._visible = true;
i = 100;
while (i>0) {
my_soundcurrent.setVolume(i);
i = i-0.001;
}
my_soundcurrent.setVolume(0);
} else {
cross._visible = false;
i = 0;
while (i<100) {
my_soundcurrent.setVolume(i);
i = i+0.001;
}
my_soundcurrent.setVolume(100);
fadeout = true;
}
};
music1_btn.onRelease();
cross._visible = false;

Alvast bedankt!

ferrygood
%Europe/Berlin %141 %2005, 03:23
Hoi,
Zelf heb ik alles wat jullie hebben gemaakt goed zelf kunnen oefenen, maar wilde graag zelf een soort van mixer ervan maken, zo dat de gebruiker een mix kan maken van de geluiden die zij of zij zou willen aan of uit zetten. De bestaande knoppen dus, 1 keer klikken aan en de 2e keer klikken uit. Ik begin net pas met action script.. helaas. Zouden jullie hier mee kunnen helpen??
Waarschijnlijk is het maar een kleine aanpassing in het script.. help??
Gr Ferry

dolly_xxl
%Europe/Berlin %515 %2005, 12:22
Wat bedoel je met een mix maken? gewoon dat als 1 speelt en dan op 2 duwt dat 1 zachtjes weggaat terwijl 2 zachtjes opkomt?

Ohja en mijn probleem is nog steeds niet echt opgelost :'(