![]() |
Mp3 einbinden
huhu
Also ich hab ein Programm geschrieben..und möchte das da Musik im Hintergrund läuft. Das man das mit dem MediaPlayer machen kann, hab ich inzwischen rausgefunden. Aber was genau muss ich damit machen? Hab die Suchfunktion benutzt aber die Beschreibungen dort sind für mich chinesisch Rückwärts (bin ein delphi- noob ;) ). Wär also sehr an einer genauen schrittweisen Erklärung interessiert *g* Wünsche: - Die mp3 (liegt als Datei auf dem Rechner vor) soll im Hintergrund automatisch abgespielt werden wenn das Programm gestartet wird - Es soll in einer Dauerschleife spielen bis das Programm beendet wird Xtras (optional): - Ein Mute-Knopf für den Benutzer Kann mir da wer helfen? :) |
Re: Mp3 einbinden
Schau dir mal in der Hilfe (F1) die Komponente TMediaPlayer an. Dort findest du dann Sachen, wie z.B. Play. Du musst also erst lieder laden und dann abspielen. Ist recht einfach.
Imho:
Delphi-Quellcode:
So etwas, wie Mute müsste es eigentlich auch geben -> Hilfe.
procedure TForm1.Button1Click(Sender: TObject);
begin MP.FileName := 'Pfad'; MP.Open; MP.Play; end; Du könntest auch Audiobibliotheken, wie z.B. BASS oder FMOD benutzen, aber da du ja (zitiert) ein Noob bist, würde ich das an deiner Stelle vorerst lassen. |
Re: Mp3 einbinden
ahh erst ma danke für die Hilfe :)
Also den Code hab ich soweit verstanden thx :) aber.. das is ja mit nem button wie mach ich das denn das es ohne button geht? halt automatisch angehen/ausgehen Wo/Wie muss ich den Teil mit play ect. reinschreiben? |
Re: Mp3 einbinden
Na, wie wäre es mit dem OnActivate oder OnShow Ereignis Deines Formulars?
Moin |
Re: Mp3 einbinden
Hallo,
Zum MediaPlayer: Schau dir doch mal die ganzen Funktionen des Mediaplayers an, oder suche einfach mal hier im Forum danach, es gibt eigentlich ganz eindeutige Befehle dafür.
Delphi-Quellcode:
Wie schon gesgat ins OnActive oder OnShow Event.
MP.Play
Delphi-Quellcode:
Vielleicht ans Ende also z.B ins OnClose Event.
MP.Stop
Delphi-Quellcode:
In das Event des Buttuns, der die Mutefinktion ausführen soll
MP.Pause
(Das ist zwar kein Stumm schalten, aber ich glaube es würde den selben Zweck erfüllen) Gruß, Lennard |
Re: Mp3 einbinden
Du solltest es in OnCreate oder OnActivate schreiben, bei OnShow, wird der Code ständig ausgeführt.
|
DP-Maintenance
Dieses Thema wurde von "Phoenix" von "Projekte" nach "VCL / WinForms / Controls" verschoben.
Nix Projekte sondern Kompos. |
Re: Mp3 einbinden
Sooo
Also erst mal hat das mit der Musik geklappt. Es läuft über eine Dauerschleife und bei Bedarf kann man sie mit einem Knopf anhalten bzw. wieder weiterlaufen lassen. Jetzt hab ich nur noch ein letztes Problem bei dieser Sache: Ich habe beim ersten Versuch beim Filenamen natürlich den kompletten Pfad zur Datei angegeben. 'D:blablabla/blabla/Projektordner/Musikdatei.mp3' Da ich das in der Schule geschrieben hab.. stimmt dieser Pfad bei mir zuhause natürlich nicht mehr. Wie kann man den Pfad angeben, sodass man das Programm an jedem beliebigen PC benutzen kann? Der Projektordner-Name bleibt natürlich immer gleich..aber wie sag ich dem Programm das er nur in seinem eigenen Ordner zu kucken braucht? |
Re: Mp3 einbinden
Delphi-Quellcode:
GetFilePath(application.exename)+'musik.mp3';
|
Re: Mp3 einbinden
Delphi-Quellcode:
ExtractFilePath(ParamStr(0)) + 'datei.mp3'
|
Re: Mp3 einbinden
Liste der Anhänge anzeigen (Anzahl: 1)
hm ^^ oke.. darf mir dann eins aussuchen? ;)
das erste sieht irgendwie einfacher aus. Und wo schreib ich das hin? an die stelle wo sonst der Pfad steht? Also bei Mediaplayer1.Filename:= blabla? Oder wo? maah..ich hab echt von nix ne ahnung und jetzt kommt ganze Zeit Fehlermeldung (siehe Anhang) und ich weiß net warum :'( hm.. GetFilePath(application.exename)+'musik.mp3'; Was muss ich dann für application hinschreiben? und exename.. is dann nur Pschnee (so heißt dat ^^) oder Pschnee.exe |
Re: Mp3 einbinden
Also angenommen du hast die Mp3-Datei im selben Verzeichnis liegen, wie auch deine Exe-Datei, dann machst du folgendes:
Gruß, Lennard |
Re: Mp3 einbinden
Zitat:
mal sehen ob ich das richtig verstanden hab.. Mein Pfad zur Exe lautet: C:\Dokumente und Einstellungen\HP_Besitzer\Eigene Dateien\Schneemannx Wobei Schneemannx der Ordner für das Projekt ist. Muss ich jetzt schreiben MediaPlayer1.Filename:= ExtractFilepath(C:\Dokumente und Einstellungen\HP_Besitzer\Eigene Dateien\Schneemannx) + 'ja-der-schnee.mp3'; ? Oder ohne Klammer? oder Mp3 in die Klammer? hm.. hab das jetzt mal so eingegeben,,da wird immer fehler angezeigt: undefinierter bezeichner C Semikolon fehlt ungültoges Zeichen in Eingabedatei "\" Verwendete Unit ... kann nicht kompiliert werden (Fataler fehler °°) |
Re: Mp3 einbinden
Hallo,
mal eine kurze gegenfrage: Muss es immer diese bestimmte MP3 sein oder soll der Benutzer die Möglichkeit haben evt. eine beliebige Mp3 von seinem Rechner zu wählen und diese wird dann immer wieder abgespielt und wenn er die Nase von dem lied voll hat dann kann er eine andere Wählen ? Denn das könntest Du recht simple mit dem OpenDialog erledigen und dann nur FileName an den MediaPlayer übergeben. Gruss Darkchild |
Re: Mp3 einbinden
Du sollst ja anstelle des Pfads "ParamStr(0)" nehmen, da dieser immer (egal wo die Exe ausgeführt wird) den Ort, wo sie ausgeführt wird (inklusive Dateiname) beinhaltet. Da der Pfad aber nicht zB C:\test\test.exemeinemp3.mp3 ist, sondern C:\test\meinemp3.mp3 muss man den Dateinamen abschneiden. Das funktioniert ganz einfach mit ExtractFilePath.
|
Re: Mp3 einbinden
Zitat:
Delphi-Quellcode:
ExtractFilePath(Application.EXEName) liefert dir immer den Pfad, wo die EXE gerade ausgeführt wird. Wenn du die EXE somit irgendwo hinkopierst und startest, dann liefert dir die Funktion wieder den richtigen, neuen, Pfad.
MP.FileName:= ExtractFilePath(Application.Exename) + 'meine_mp3.mp3';
|
Re: Mp3 einbinden
Also hab jetzt eingesetzt
MediaPlayer1.FileName:= ExtractFilePath(Application.Exename) + 'ja-der-Schnee.mp3'; jetzt kommt zumindest kein gemecker mehr am Code.. Aber diese blöde Fehlermeldung die ich weiter oben gepostet hab kommt immernoch. Und dann deutet ein Pfeil bei der Unit auf Application.Run; da es vorher alles lief muss es irgendwie mitdem player zusammenhängen. |
Re: Mp3 einbinden
Welche Fehlermeldung denn, ich find da keine :gruebel:
|
Re: Mp3 einbinden
als ich dir das in der schule gemacht, ähm meine natürlich erklärt) habe, lief alles, würde gerne mal wissen was du geschaffst hast...
also poste den quell text, (oder schick in mir) und man kann dir auch helfen... :) gruss Thorben |
Re: Mp3 einbinden
Zitat:
okidoki@Thorben |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz