Sound per AS laden MX

thomthom

Mitglied
Hallo,

ich habe eine Sounddatei, die 3 Minuten lang ist. Die Datei.swf wird dann allerdings 180 KB groß. Um diese zu verkleinern habe ich dann die Einleitung abgeschnitten und nur die Strophe loopen lassen. Leider ist ein Aussetzer zwischen Einleitung und der Strophe.

Hier im Forum habe ich dann gelesen, dass man Sounds auch per AS laden kann.

Ideal wäre die Lösung, die Einleitung per AS zu laden und dann mit onSoundComplete die Strophe anzuhängen. Dabei soll der Sound automatisch beim Starten der Seite beginnen.

Leider werde ich weder aus der Hilfe noch aus den Beiträgen hier im Forum schlau. Muß man die Einleitung in einen leeren MC laden?Und wo kommt dann das AS hin?

Kann jemand helfen?

Danke

Gruß Thomas
 
Hi,
die Einleitung in deine swf zu implementieren ist nicht nötig. Am besten ist es das Sound Objekt von AS zu benutzen.

Zum Beispiel so:
PHP:
meinSound = new Sound()
meinSound.loadSound("Einleitung,mp3", true)

meinSound.onSoundComplete = function() {
	this.loadSound("Strophe.mp3", true)
}

Das Script kommt auf das Frame in dem der Sound anfangen soll..
Schau dir am besten mal in der F1 Hilfe das Sound Objekt und seine Funktionen an..

Sancho
 
@Sancho: bloß, dass ich die Strophe schon beim Abspielen der Einleitung laden würde (eben nicht als Stream), sonst bekommt man wieder eine Pause, bis die Strophe geladen ist. ;)
PHP:
meinSound = new Sound(); 
meinSound2 = new Sound(); 
meinSound.loadSound("snd1.mp3", true) ; 
meinSound.onLoad = function() { 
    meinSound2.loadSound("snd2.mp3", false); 
} 

meinSound.onSoundComplete = function() { 
    _root.meinSound2.start(); 
}
oder eben den gesamten Sound als Streamingsound in einer Datei einladen.

Gruß
 
Zuletzt bearbeitet:
Hallo,

vielen Dank für die Antworten. Beide Skripte habe ich ausprobiert. Das von Sancho funktioniert, das von Datic leider nicht. Offensichtlich gibt es da ein Problem, wenn der Parameter für Ereignis-Sound (false) gesetzt wird. Wenn ich nämlich bei dem Script von Sancho den Parameter bei Strophe.mp3 auf false setzte, bringt es den gleichen Fehler: Die Strophe wird für ca. 2 sec angespielt und bricht dann ab.

Woran kann das liegen?

Gruß Thomas

In der Hilfe habe ich nachgesehen, aber bin gleich beim ersten Punkt der Methodenübersicht für das Sound-Objekt "Sound.attachSound" gleich wieder ausgestiegen. Da steht unter Parameter:

idName Der Bezeichner für einen exportierten Sound in der Bibliothek. Der Bezeichner geht aus dem Dialogfeld Eigenschaften Symbolverknüpfung hervor.

Muß das nicht importierten Sound heißen?

Danke für die Antworten
 
Hi,

stimmt, ich hatte auch einen Fehler im Script (ist jetzt korrigiert: doppelter Bezeichner). Du musst allerdings sicherstellen, dass der erste Sound lange genug zum Abspielen braucht, so dass auch bei z.B. Modembbenutzern der zweite Sound schnelle genug geladen ist. Andernfalls würde ich wie gesagt alles in eine Sounddatei packen.

Die Referenz ist korrekt: attachSound instanziert einen Sound aus der Bibliothek, der zum Export für AS freigegeben ist. Der Sound muss hierbei Bestandteil der SWF-Datei sein. Zum Laden und Abspielen externer Sounddateien benutze loadSound.

Gruß

.
 
Was als "unhübsche" Lösung auch noch ginge:

- Du erstellst eine extra swf in der die beiden Sounds in der Bibliothek gespeichert liegen.

- In dieser swf erstellst du auf der Zeitleiste zwei leere Frames, in das erste kommt manuell die Intro.mp3, in das Zweite kommt die Strophen.mp3, und AS-stop()-Befehl.

Im Eigenschaftsinspektor des Frames kannst du ja dann auch die Loop-einstellungen ändern.

So eine swf kann man dann noch mit nem Preloader versehen, oder was auch immer..

Ist halt keine elegante Lösung, aber funktionell.

sancho
 
Vielen Dank - aber leider funktioniert das Script von Datic immer noch nicht. Liegt das am Script oder an mir?

Einfach das Script auf den ersten Frame - oder sehe ich das falsch?

Gruß Thomas
 
Zuletzt bearbeitet:
Hast du es schonmal online getestet, oder nur lokal?

Lokal hats bei mir mit Streaming auf false auch nicht gespielt, konnte es nur nicht aufm Server testen..

sancho
 
Es sollte eigentlich genügen, die Datei in der Flash-Vorschau unter "Download simulieren" abzuspielen....

Wie dem auch sei: alles in einer einzigen Sounddatei unterzubringen, ist hier sicher einfacher und komfortabler. Den Sound kann man (wie Sancho sagte) in einer eigenen SWF unterbringen, dann lässt sich der Fortschritt mit dem MovieClipLoader prima überwachen, oder als Streaming-Sound laden (damit wird er eher abgespielt ;) ).

Gruß

P.S.: übrigens, Sancho:
Im Eigenschaftsinspektor des Frames kannst du ja dann auch die Loop-einstellungen ändern.
Das tut garnicht not: Gib den Sound in der Bibliothek zum Export frei, lade ihn mit attachSound und starte mit .start(). Zum Loopen musst Du lediglich einen Handler (sound1.onSoundComplete() ) definieren, der mit (this.start()) wieder von vorne beginnt. ;)

.
 
Zuletzt bearbeitet:
Ja schon, aber ich dachte das eigentlich mehr als "nicht-AS-alternative"..

Und die Sounds auf den Frames kann man ja nicht mehr mit Scripts manipulieren.. :)

sancho
 

Neue Beiträge

Zurück