Also ich weiß nicht ob sndPlaySound MP3 abspielt - kann sein, hab es noch nicht getestet, dachte immer die spielt nur WAV ab. Gehen wir aber mal davon aus, dass das nicht das Problem ist.
ExtractFilePath in
ExtractFilePath(ParamStr(0))
liefert den Pfad mit einem Backslash. Immer. Somit sollte dem kein Backslash folgen.
Ein Schrägstrich, bzw. Slash wie in
Leveldesign/Bunnymajs - Reload.mp3
ist kein Backslash. Der sieht so aus: "\".
Leerzeichen könne Windows verwirren, wie in
\Bunnymajs - Reload.mp3
. Die Regel besagt, dass man in solchen Fällen den Pfad in Anführungszeichen "" setzten sollte.
Teste das mal und sag ob es immer noch Probleme gibt. Ansonsten den Code so ändern:
Delphi-Quellcode:
var
Path:
String;
begin
Path := '
"' + ExtractFilePath(ParamStr(0)) + '
Leveldesign\Bunnymajs - Reload.mp3"';
if not FileExists(Path)
then
raise Exception.Create('
Unbekannter Pfad: ' + Path);
sndPlaySound(PChar(Path), SND_ASYNC
or SND_LOOP);
end;
Ist der Pfad nicht da, gibt es eine Fehlermeldung.