SWF findet richtigen Pfad nicht immer

Baron Sengir

Mitglied
Hallo Ihr Lieben,

ich benötige Eure Hilfe bei folgender Herausforderung:

Um eine Datenbank meiner Musi aufzubauen, dachte ich mir, bastle dir ein PHP-Skript und durchforste deine Ordner, übergebe den Pfad zur Musikdatei per Flashvars an Flash, um vorzuhören. So kann man noch einige Bmerkungen dazuschreiben und dann per Webformular ab mit allem in eine MySQL-DB.

Also, Projekt in Angriff genommen und XAMP installiert. Das PHP-Skript tut auch alles das, was es soll. Super. Nur jetzt kommt das Problem mit Flash:

Ich habe auf meiner Bühne zwei Buttons: Play und Stop. Beide Buttons rufen eine Funktion meines ActionScripts auf, das wie folgt ausschaut:

Code:
var streaming:Boolean = true;

mySound = new Sound();
ende();

stop();

function aufi()
{
	url="file:///C|/test.mp3";   // für Testzwecke eingefügt,sonst per Flashvars 
	mySound.loadSound(url, streaming);
}

function ende()
{
	mySound.stop();
}

Wenn ich nun die veröffentlichte SWF direkt starte (also per Doppelklick) klappt alles wunderbar. Per Buttonklick wird die MP3 gespielt. Rufe ich nun über meinen Webserver die HTML auf, die die SWF ausführt, passiert nichts ausser, dass die Buttons angezeigt werden. Dumm gelaufen. Woran kann es liegen, dass Flash nun nicht mehr die MP3 abspielt? Wie kann ich das sonst hinkriegen?

Ah, bevor ich es vergesse: Packe ich die test.mp3 in den selben Ordner wie die SWF, dann klappt's auch. Ich schließe daraus, das da Pfadangaben unvollständig sind oder irgendwelche Rechte nicht richtig sind. Vielleicht wisst Ihr da ja mehr.

Vielen Dank schon mal für Eure Ideen vorweg.

Liebe Grüße
Markus
 
Es kommt natuerlich drauf an wo die Dateien auf dem Webserver liegen, dementsprechend musst du auch deinen Pfad anpassen.

Mal angenommen du hast deine swf in einem Ordner. In diesem Ordner befindet sich dann ein weiterer Ordner names "music". In diesem Ordner befindet sich das mp3 file "track1.mp3".

Folglich sieht deine URL so aus:
Code:
url="music/track1.mp3";

Gruss
 
Hallo Ihr Lieben,

zunächst herzlichen Dank für Eure Tipps. Pfad war immer richtig und nicht der Grund des Übels.

Das Problem war, dass meine Dateien außerhalb des Document-Root-Pfads vom Apache liegt. Und genau darauf läßt er keinen Zugriff zu, es sei denn man trickst ein wenig. Dank eine Kumpels habe ich das Problem nun lösen können.

Für alle, die wissen wollen wie's geht: Man muss in der httpd.conf einen Alias anlegen. Ich habe das wie folgt gemacht:

Code:
Alias /musiC "C:/"
<Directory "C:/">
Order allow,deny
Allow from all
</Directory>

Wenn ich nun zu folgender Adresse surfe: http://localhost/musiC greift Apache auf das Root-Verzeichnis der Festplatte C: zu. Problem gellöst.

Nochmals vielen Dank für Eure Ideen und Hilfen,

Markus
 
Zurück