Problem mit Pfaden

qsrs

Erfahrenes Mitglied
Hallo,

ich habe ein PHP-Skript und möchte einen Sound über eine SWF-Datei ausgeben. Es funktioniert auch, solange alle Dateien in dem selben Verzeichnis liegen. Allerdings möchte ich die einzelnen Dateien in verschiedenen Verzeichnissen ablegen, dann wird der Sound aber nicht mehr abgespielt. Mein Problem ist dann, dass die Pfade nicht mehr stimmen.

1. In index.php steht der Aufruf der Flash-Datei:
Code:
 <script src="library/AC_RunActiveContent.js" type="text/javascript"></script>
 <script type="text/javascript">
 AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','1','height','1','src','sound','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','sound' ); //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=7,0,19,0" width="1" height="1">
   <param name="movie" value="library/sound.swf" />
   <param name="quality" value="high" />
   <embed src="library/sound.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="1" height="1"></embed>
 </object>
 </noscript>
2. Die Flash-Datei hat folgendes AS (und liegt im selben Verzeichnis, wie die PHP-Date):
Code:
var sound:String;
loadVariables("sound.php", this, "POST");
//Verify, if File has been loaded
this.onData = function() {
 audio = new Sound(this);
 audio.onLoad = ladeSound;
 audio.loadSound(sound, true);
};
soundLaden = function () {
 if (getBytesLoaded()>=getBytesLoaded()) {
  _root.play();
 }
};
3. Die PHP-Datei hat folgenden Code:
PHP:
echo "sound=sounds/error1.mp3";
4. Die Sound-Datei liegt unter:
library/sounds/error1.mp3

Was mache ich falsch mit den Pfaden? Ich würde mich über Hilfe sehr freuen.
 
Zuletzt bearbeitet:
Hi,

Flashfilme verhalten sich immer so, als befänden sie sich am physischen Ort der html-Datei, in der sie eingebettet sind.

Du musst also entweder im Flashfilm folgendes:
Code:
audio.loadSound("library/" + sound, true);
, oder im PHP-Script jenes:
PHP:
echo "sound=library/sounds/error1.mp3";
angeben.

Gruß
.
 
Vielen Dank für deine Antwort, aber es funktioniert leider nicht. Erst dann, wenn ich sound.php eine Ebene höher lege. Ich habe im Anhang einmal die Daten in genau der Struktur angefügt, wie es sein sollte. Statt der swf-Datei habe ich unter library gleich das Flash-Dokument abgelegt, da steht das AS darin.

Ich habe wirkich alles versucht, aber ich komme nicht auf den Fehler. Wahrscheinlich ist es ganz simpel. Ich würde mich über Hilfe sehr freuen.
 

Anhänge

  • flash_php_sound.zip
    10,6 KB · Aufrufe: 10
loadVariables("sound.php", this, "POST");
Hier wird die "sound.php" auch in dem Verzeichnis gesucht, in dem sich die html-Seite befindet, die den Flashfilm anzeigt. Liegt das Script woanders, musst Du den Pfad in der .fla entsprechend ändern.

Gruß
.
 
Zurück