Entwickler-Ecke

Multimedia / Grafik - Musik direkt in das Programm einbinden


Leuchtturm - Mo 15.05.06 18:04
Titel: Musik direkt in das Programm einbinden
Hi,
ich habe in meinem Programm eine Hintergrundmusik die ich ständig wiederholen lasse.
Auf meinem Computer funktioniert das auch, aber auf einem anderem Computer funktioniert das nicht. Die Musikdatei habe ich "mitgeliefert".
Hier öffne ich die Datei:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
    Filename := 'HintergrundMusik.wav';
    AutoRewind := True;
    AutoOpen := True;
    Hide;
    Open;
    Play;

und hier schließe ich sie:

Delphi-Quelltext
1:
2:
3:
4:
5:
  with MediaPlayer1 do begin
  MediaPlayer1.Stop;
  MediaPlayer1.Close;
  MediaPlayer1.Open;
  MediaPlayer1.Play;

kann mir jemand sagen wie das auf anderen Computern auch funktioniert?
:!: HILFE :!:


MrFox - Mo 15.05.06 18:53

Ganz offensichtlich ist auf diesem "anderen Computer" kein MCI-Treiber aktiv, oder die Lautsprecher sind aus, oder die Lautsprecher sind nicht eingesteckt, oder...

Andererseits waere es ganz hilfreich zu wissen, was nicht funktioniert. Fehlermeldung....?


Gausi - Mo 15.05.06 18:59

Ich nehme mir mal einen Zaun, winke ein bißchen und frage nach, in welchem Verzeichnis denn die Musikdatei liegen soll...

Also: Nie mit relativen Dateinamen arbeiten, sondern immer mit absoluten. Das Verzeichnis der Anwendung bekommt man z.B. mit ExtractFilePath(Paramstr(0));. Da dann den Dateinamen drangehängt, und gut is.


Leuchtturm - Di 16.05.06 17:18

@ user profile iconMr Fox:Fehlermeldung:
Programm.exe hat ein Problem festgestellt und muss beendet werden.
...
...
Debug Problembericht senden Nicht senden

@ user profile iconGausi:
die Datei soll im gleichem Ordner sein wie die EXE. :D
Könntest du das ExtractFilePath(Paramstr(0)) noch mal genauer erklären , die Delphi Hilfe hilft nicht wirklich. Ich verstehe es jedenfalls nicht :bawling:


DelphiAnfänger - Sa 20.05.06 17:46
Titel: Re: Musik direkt in das Programm einbinden

ungetestet
1:
2:
3:
4:
5:
6:
    Filename := ExtractFilePath(Paramstr(0))+'HintergrundMusik.wav';//es kann sein dass du '\HintergrundMusik.wav' schreiben musst
    AutoRewind := True;
    AutoOpen := True;
    Hide;
    Open;
    Play;


Leuchtturm - Mi 24.05.06 15:26

Danke


Jakob Schöttl - Do 25.05.06 17:29

Wobei übrigens Paramstr(0) das gleiche ist wie Application.ExeName

Das find ich einfacher zum merken