[FlashMX] Sound Preloader

Fey

Erfahrenes Mitglied
Guten Morgen liebe Forengemeinde,

und wieder lässt ein Problem grüßen. Ich habe auf FlashKit.com ein Tutorial zum Thema SoundObject gefunden, was ich auch richtig klasse finde. Nur der Preloader für die dynamisch geladenen MP3's will irgendwie nicht so richtig funktionieren. Ich möchte gerne erreichen, dass er ca. 1/3 des Soundfiles vorlädt und dann zu einem anderen Frame springt. Realisiert habe ich das folgendermaßen:

Code:
rede1 = new Sound();
rede1.loadSound("MD2.mp3", true);

test.onEnterFrame = function() {
	gesamt = rede1.getBytesTotal();
	geladen = rede1.getBytesLoaded();
	if (geladen == gesamt) {
		gotoAndStop("sound");
	}
}

Aus irgendwelchen Gründen springt er aber sofort zu dem Frame "sound" und fängt dann in aller Seelenruhe an zu streamen. Da ich noch nie Negatives über die Methode gelesen habe muss doch der Fehler irgendwo in meinem Script liegen. Ich kann aber überhaupt nicht erkennen wo.

Vielen Dank schon mal im Vorraus,
Feyiama
 
Fangen wir mal mit der Fehlersuche ganz einfach an:
PHP:
test.onEnterFrame = function() {
    trace(rede1);
	gesamt = rede1.getBytesTotal();
	geladen = rede1.getBytesLoaded();
	if (geladen == gesamt) {
        trace(gesamt);
        trace(geladen);
		gotoAndStop("sound");
	}
}
Gibt dir der Interpreter also auch über "rede1" eine Referenz auf das Soundobjekt - erstes Tracing.

Und bei welchen Werten springt er denn nach dem Frame - zweite Tracingfolge.

Geist
 
Hi Geist,

er gibt mir nur einen Wert aus und das ist [object Object]. Sieht irgendwie falsch aus, oder???

Gruß,
Feyiama

Achso, er springt sofort zu frame "sound"
 
ungetestet...

PHP:
rede1 = new Sound();

this.createEmptyMovieClip('test',100);
test.onEnterFrame = function() {
	var geladen = int(_root.rede1.getBytesLoaded()*100/_root.rede1.getBytesTotal())
	if (geladen >= 66) {
		_root.gotoAndStop("sound");
	}
}

rede1.loadSound("MD2.mp3", true);
 
Hi Skyla,

funktioniert leider auch nicht. :(

Ich wollte es jetzt mal auf die "Pseudo"-Preloader-Art versuchen. Habe meine Steuerung für den Sound unter einem MovieClip namens "preloader" versteckt.

In meiner Steuerung habe ich ein Feld, was die Sekunden anzeigt. Also hab ich einfach gesagt, wenn diese Zahl in dem Feld einer anderen Zahl (in dem fall this_sound.duration/2) entspricht, soll er in den nächsten Frame wechseln. Aber auch da wechselt er sofort in den nächsten Frame. Es ist zum Verrückt werden.

Ich hänge mal eine von den Originaldateien an, vielleicht wird ja jemand von Euch schlau draus. Allerdings habe ich den Sound nicht mitgepackt. Wurde dann doch zu groß. Ich denke, jeder von Euch wird eine MP3-Datei zu Hause haben. :rolleyes: Einfach in den Komponentenparametern ändern.
Was mich so fuchst an der Sache: Die Geschichte muss spätestens morgen Mittag fertig sein. :(

Grüße,
Feyiama

//Nachtrag 1: Nicht wundern, dass mein Sound hier anderst heißt, ich habe vorhin einfach das Test-Script von meinem Chef genommen.

//Nachtrag 2: Sagt mal, kann das sein, dass ich einen gestreamten Sound so, wie ich das vorhabe gar nicht steuern kann?
 

Anhänge

  • sound.zip
    9,5 KB · Aufrufe: 30
Zuletzt bearbeitet:
hi fey

schau's mir heute abend gerne nochmals an.
wobei ich kann's kaum glauben. du hast ja
im ersten frame ein stop() drin, oder !? wie soll
er vor dem eintreten der if-bedingung den
frame wechseln ???
 
Hi Skyla,

ich dank Dir schonmal.

Mir ist es auch ein Rätsel, dass kannst Du mir glauben. :)

Grüße,
Feyiama
 
Hi fey

hab jetzt zuerst mein script getestet. funktioniert so
wie's soll. der sound fängt an zu spielen, sobald genug
vom file geladen ist, und wenn 2/3 des files geladen
sind, springt er ins target-frame. Hab dann noch deine
fla angeschaut; was ist das genau ? hat ja nichts mit
unserem problem zu tun. falsches file erwischt ?

egal. mein script ist ok.

gruss skyla
 
Hi Skyla,

nö, eigentlich nicht. Im ersten Frame meiner Komponente ist der Preloader und im zweiten die restliche Steuerung für mein Sound-Objekt.

Also dann muss es wohl an mir liegen *schulterzuck*

Grüße,
Feyiama
 

Neue Beiträge

Zurück