Dynamische Ausgabe von Flashfilmen, um MP3-Dateien abzuspielen

qsrs

Erfahrenes Mitglied
Hallo,

ich lese mittels PHP ein Verzeichnis aus, in welchem MP3-Dateien liegen und zeige sie in einer Html-Tabelle an. Nun möchte ich in jeder Zeile einen Flashfilm, der einfach einen Playbutton ausgibt, um die jeweilige Datei abzuspielen und zu stoppen. Wie könnte ich diese Informationen an Flash übergeben, also welche Datei abgespielt werden soll? Wie müsste das ungefähr aussehen? Vielen Dank für evtl. Antworten.
 
Hi,

der Begriff, den Du suchst ist "FlashVars". Mit der Suchfunktion solltest Du etliche Beispiele und Hinweise dazu finden. ;)

Gruß
.
 
Vielen Dank für deine Hiilfe, genau das hatte ich gesucht. Habe leider noch ein paar Schwierigkeiten mit der Umsetzung. Habe nun folgendes AS zum Abspielen:

Code:
this.createEmptyMovieClip("contr",1000);
var soundFile = new Sound(this);
soundFile.loadSound(_root.soundName,false);
this.contr.onEnterFrame = function() {
 if (_root.soundFile.getBytesLoaded()>=_root.soundFile.getBytesTotal()) {
  _root.soundFile.start(0,1);
  delete this.onEnterFrame;
 }
};
stop();

In der Html steht dann folgendes:
HTML:
<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','24','height','24','src','Unbenannt-1','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','Unbenannt-1' ); //end AC code
</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="24" height="24">
  <param name="movie" value="Unbenannt-1.swf" />
  <param name="quality" value="high" />
  <param name="FlashVars" value="soundName=login1.mp3">
  <embed src="Unbenannt-1.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="24" height="24" FlashVars="soundName=login1.mp3"></embed>
</object></noscript>
Leider ist noch kein Sound zu hören. Ich weiß allerdings nicht, wo ich ansetzen sollte zu suchen. Des Weiteren habe ich noch eine kleine Frage. Ich habe auf der Hauptebene 2 Schlüsselbilder. Im ersten liegt der Button Play mit einem Befehl, dass er bei Klick zum Bild zwei geht, wo dann obiges AS liegt, sowie der Button Stop. Falls das AS oben funktioniert, kann ich zwar mit Klick auf den Stop-Button zu Bild 1 eingehen, aber es sollte u.a. auch dann zu Bild zwei gehen, wenn der Sound vollständig abgespielt wurde. Wie müsste ich hier ansetzen?

Leider bin ich nicht so versiert mit AS, sollte diese kleine Funktion nur in einem PHP-Projekt umsetzen. Hoffe und danke sehr für evtl. Hilfe.
 
Hi,

ich nehme an, Du musst die FlashVars-Parameter auch in der JS-Funktion "AC_FL_RunContent" notieren:
Code:
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','24','height','24','src','Unbenannt-1','quality','high', 'flashvars', 'soundName=login1.mp3', 'pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','Unbenannt-1' ); //end AC code

aber es sollte u.a. auch dann zu Bild zwei gehen, wenn der Sound vollständig abgespielt wurde. Wie müsste ich hier ansetzen?
In diesem Fall wäre die Sound.onSoundComplete-Methode das, was Du suchst.

Gruß
.
 
Vielen Dank, Du hast mir sehr weitergeholfen.

ich nehme an, Du musst die FlashVars-Parameter auch in der JS-Funktion "AC_FL_RunContent" notieren:
Das war es leider nicht, wenn ich die JS-Funktion jedoch einmal ganz weglasse, funktioniert es. Ich muss also weitersuchen, vielleicht fällt dir ja noch evtl. etwas ein.

In diesem Fall wäre die Sound.onSoundComplete-Methode das, was Du suchst.
Hat funktioniert. Für alle, die es mal brauchen:

Code:
this.createEmptyMovieClip("contr",1000);
var soundFile = new Sound(this);
soundFile.loadSound(_root.soundName,false);
this.contr.onEnterFrame = function() {
 if (_root.soundFile.getBytesLoaded()>=_root.soundFile.getBytesTotal()) {
  _root.soundFile.start(0,1);
  delete this.onEnterFrame;
 }
 soundFile.onSoundComplete = function() {
  gotoAndStop(1);
 };
};
 
Das war es leider nicht, wenn ich die JS-Funktion jedoch einmal ganz weglasse, funktioniert es.
Der Fehler liegt aber in der Kapselung via JavaScript. Ich hatte mit meiner eigenen Aktivierungsumgehung allerdings auch schon die Erfahrung gemacht, dass FlashVars verloren gehen.

Probier es alternativ mal mit SWFObject oder UFO.

Gruß
.
 
Danke, ich habe es. Neben flashvars muss noch die Variable samt Inhalt selbst in den JS-Aufruf:

Code:
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','24','height','24','src','Unbenannt-1','flashvars','soundName=login1.mp3','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','Unbenannt-1' ); //end AC code

Danke nochmals für deine Hilfe.
 

Neue Beiträge

Zurück