[MX2004] OnSoundComplete probleme bei Soundstreaming

Leugim

Erfahrenes Mitglied
Hi.
Ich versuche mehrere mp3's zum hören zur verfügung zu stellen und habe dafür für jedes Lied einen Mc erstellt, der bei click drauf, folgendes macht:
PHP:
stopAllSounds();
 music1 = new Sound(this);
 music1.loadSound("m1.mp3", true);
 music1.onSoundComplete = function() {
   this._parent.mus2.gotoAndStop(3); 
 }

dieser script steht im MC mit instanznamen "mus1". im 3.Frame ist der obige script, der den Sound zwar richtig abspielt, aber bei onSoundComplete nicht das macht, was ich mir gewünscht hätte (dabei ist doch bald Weihnachten ..... )
Bei ende des Sounds springt er nicht auf den 3.Frame des nächsten MC's (mus2), damit dort dann der nächste Sound initialisiert werden kann, sondern stoppt dann einfach...

Ich hab das ganze so aufgebaut, weil man auch ausuchen können muss, welcher Track gespielt werden soll... Nur wenn man nichts klickt, soll er einfach zum nächsten Lied springen...

was mache ich da falsch? :)

komischerweise funktioniert das onSoundComplete, wenn der ganze krams geloopt wird.... (ist nicht mein eigener script... stammt hier aus dem Forum :-()
PHP:
var count = 0; // Anzahl Wiederholungen
 music1.onSoundComplete = function() {
 	count ++;
 	if (count < 100) this.start(); // Wiederholen
 }

Schon mal danke!
 
Hi,

warum versuchst Du, Soundereignisse mit Zeitleisten zu komninieren? Auch wenn zu jedem Song eine eigene Animation augespielt werden soll, würde ich das in eine Funktion kapseln:
PHP:
var current = 0;
var snd = new Sound();
var songs = new Array("song1.mp3", "song2.mp3", "song3.mp3");
var frames = new Array(1, 100, 320); // Frames der Animationen

nextSong();

snd.onSoundComplete = function() {
    nextSong();
}

function nextSong() {
    snd.loadSound(songs[current], true);
    gotoAndPlay(frames[current]);
    current ++;
    if (current >= songs.length) current = 0; // Wieder von vorne abspielen
}

Ich kann Deine Version nicht ausprobieren, da ich grade keinen Zugriff auf Flash habe, aber die sollte eigentlich auch funktionieren - vermutlich ist es bloß ein Adressierungsproblem. Schau mal, was trace(this._parent.mus2) ausgibt - wenn der Clip mus2 im selben Clip wie der Sound liegt, sollte ein mus2.gotoAndStop(3) eigentlich ausreichen (da Sounds nicht als MovieClips behandelt werden).

Gruß
.
 
Es war tatsächlich ein adressierungs problem...
es hätte einfach nur
PHP:
_parent.mus2
lauten müssen.... deine Version ist aber irgendwie schöner..........
Danke!
 

Neue Beiträge

Zurück