Hallo Urgixgax,
Danke, für die Hilfe, auch so Mailtechnisch. Ich habe ja somit alles doch noch umsetzen können, wenn auch so als Leihe und für mich nicht alles so verständlich, funktioniert es doch nun.
Na dann muss ich doch mal etwas genauer erklären, ich will ja, dass du das das nächste Mal alleine schaffst. Ich habe dazu mal einen Screenshot gemacht:
http://www.sprachlernspiele.de/selftests/soundscreen.gif
Den Sound hattest du dir ja als MP3 über "Datei -> Importieren" in die Flashbibliothek geholt.
Wenn du ihn dann auf die Bühne ziehst, die du in deinem Fall unter "Modifizieren -> Dokument" ruhig auf 1*1 Pixel Größe setzen kannst (du willst ja nur Ton abspielen, nichts zeigen) nimmt der Sound auf der Zeitleiste zunächst einmal nur einen "Frame" ein. Bei einer Framerate von 12 pro Sekunde bedeutet das folgerichtig, dass der Sound in einer Endlosschleife immer wieder nur die erste Zwölftelsekunde lang abgespielt würde. Das ist natürlich sogar für ein Klickgeräusch zu kurz. Also musst du den Sound erst einmal in der Zeitleiste auf seine eigentliche Länge aufziehen (ganz einfach mit der Maus). Dein Sound hat einen Bedarf von 14 Frames, wie du auf dem Screenshot sehen kannst.
Du kannst jetzt auch schon einmal testen (Steuerung -> Film testen) und hörst, dass der Suond jetzt im Flashfilm in voller Länge in einer Endlosschleife abgespielt wird.
Das möchtest du natürlich für dein Klickgeräusch nicht, weder das endlose Abspielen, noch dass der Film überhaupt von vornherein abspielt, er soll es ja nur einmalig bei jedem einzelnen Klick auf deine Links tun.
Also doppelklickst du mit der Maus in den Sound in der Zeitleiste hinein, so dass alle 14 Frames markiert werden und verschiebst sie um einen Frame nach rechts. Dadurch wird vor diesem Bereich ein weiteres leeres Schlüsselbild eingefügt. Mit der Maus klickst du in dieses erste neu entstandene Schlsselbild, für das du jetzt ein Actionscript einfügen kannst. Die Aktion, die du darin beschreibst, wird nur in diesem "Bild" ausgeführt.
Öffne also durch Klick das Fenster "Aktionen - Bild" und schreibe das wahnsinnig aufregende Actionskript: stop(); hinein, - entweder von Hand oder falls das nicht geht, indem du auf das Plus klickst:
Globale Funktionen -> Zeitleistensteuerung -> stop
Es erscheint jetzt ein kleines "a" in diesem ersten Frame in der Zeitleiste, das dir anzeigt, dass du hier ein Actionscript eingefügt hast. Das sieht man auch auf dem Screenshot oben.
Wenn du jetzt noch einmal den Film testest (Steuerung -> Film testen), siehst und hörst du, dass du jetzt gar nichts mehr siehst und hörst.
;-)
Keine Angst, das ist auch genau was du willst. Es zeigt dir, dass das Actionscript stop() seine Wirkung tut und den Film im leeren ersten Bild ohne Sound anhält.
Mit der Erstellung des Flash-"Films" bist du jetzt schon fertig.
Jetzt bindest du den Film in einer der üblichen Weisen in deinen Navigationsframe ein (wir reden jetzt wieder von Frames und Framesets im Sinne von HTML und nicht im Sinne von Flash, wo damit die Einzelbildsegmente der Zeitleiste gemeint sind).
Eine Methode habe ich ja schon hier genannt. (Beachte auch meine Ergänzung)
Zu Frames im Sinne von HTML gibt es bei deinem Vorhaben meines Erachtens keine Alternative, denn wenn du jedesmal eine Seite komplett inklusive Flash-Plugin, jeweils mit LiveConnect-Java-Aktivierung neu laden würdest, würde darüber je nach Nutzer wahrscheinlich häufig mehr Zeit vergehen als bis zu dessen nächstem Klick.
Durch die ebenfalls in den Navigationsframe eingebunde Funktion ...
function abspielen () {
var movie = findeFlash('demo');
movie.Play();
}
... wird bei Aufruf durch den OnClick-EventHandler bei deinen Links nun Folgendes bewirkt:
Der Flashfilm, der im ersten leeren Flashframe über das Actionscript stop(); angehalten wird, durchläuft nun die 14 Frames mit dem Sound und spielt diesen dabei ab. Am letzten Frame angekommen springt der Abspielkopf wieder in den ersten Frame zurück und wird dort erneut solange durch das Actionscript stop(); angehalten, bis der Nutzer erneut einen Link betätigt und damit die JavaScript-Funktion abspielen() aufruft.
Gruß Gernot