Betreff: Soundsteuerung

Watusimann

Erfahrenes Mitglied
Hallo zusammen.
ich hab eine swf, in der ich eine normale loopschleife abspielen lassen möchte.

meinSound = new Sound(this);
meinSound.attachSound("loop");

play.onRelease = function() {
meinSound.start(0,500);
}
stop.onRelease = function() {
meinSound.stop();
}

zumindest spielt es an, aber stoppen will der loop nicht :( .
Ausweichsmöglichkeit wäre der direkte Weg via AS des Buttons
on (release) {
stopAllSounds();
}
das geht.

ein weiteres problem wäre, drücke ich zweimal auf den button - startet folglich der Loop zweimal. *seufz* Wie ist das zu verhindern, ohne den Frame zu wechseln?
 
PHP:
meinSound = new Sound(this);
meinSound.attachSound("loop");
i=0;

play.onRelease = function() {
if (i==0)
{
meinSound.start(0,500);
i=1;
};
}
stop.onRelease = function() {
meinSound.stop();
i=0;
}

ka ob das klappt; war nur als Denkanstoss gedacht ;)
 
Du solltest es ausserdem prinzipiell vermeiden sogenannte Trunctations zu erzeugen, indem du deine Buttons mit geschützten Begriffen wie play oder stop benennst und instanzierst ...

Grüsse
B
 
na trotzdem danke - ich versteh das mit dem i allerdings nicht so richtig. ich find auch nichts in den referenzen. :eek:

oh danke für den tip.
 
Mit i stellst Du einfach fest ob, der Sound gerade gespielt wird oder nicht.
PHP:
meinSound = new Sound(this); 
meinSound.attachSound("loop"); 
i=0;  //Startwert für i wird gesetzt: 0, wir denken uns 0 für "inaktiv" soblad i=0 ist wird kein Sound gespiel.
play.onRelease = function() { 
if (i==0)  //Hier wird i überprüft. Ist i = 0 (also es wird gerade kein Sound gespielt) kann der Teil innerhalb der {} abgespielt werden.
{meinSound.start(0,500); 
i=1;  //Darin wird i auf 1 gesetzt. Ist i also = 1 heißt das, dass gerade Sound gespielt wird. Drückt man nun noch einmal den Button ist die Bedingung falsch (i ist nicht 0 sondern 1) und {} wird somit nicht mehr ausgeführt. Eine Mehrfachausführung des Sounds wird also unterbunden.
}; 
} 
stop.onRelease = function() { 
meinSound.stop(); 
i=0;  //Beim drücken des Stopp-Buttons wird i auf 0 gesetzt, dass Start wieder ausgeführt werden kann.
}

Ich hoffe jetzt ist es klarer.
 
Zurück