Mp3 file aus string abspielen?
-
so, ich schreibe gerade spaßweiße an einem (ganz billigen) mp3 player (wie winamp, bloß mießes design, und weniger funktionen).
nun, solange ichj den pfad des files im source festlege, gibt es kein problem.
aber ich habe ein textfeld hineingesetzt, in das der user selbst den pfad schreiben soll.
hier erstmal der betroffene code:AnsiString(playfile) = Edit1 -> Text; //speichert Text aus Edit in ner variable mciSendString("open playfile", NULL, 0, NULL); //öffnet playfile, vorher war da der festgelegte pfad. mciSendString("play playfile wait", NULL, 0, NULL); //spielt das file ab mciSendString("close playfile", NULL, 0, NULL); //schließt das ding wieder Label1->Caption = AnsiString(playfile); //soll anzeigen, was gerade abgespielt wirdsoweit so gut, wenn es funzen würde.
wie kann ich es hinbekommen, das er den pfad zur datei aus dem AnsiString playfile ausließt?danke.
-
Ähm? Ganz sicher, dass du dich mit mp3s und dergleichen beschäftigen solltest? Mir sieht es so aus, als ob du nichtmal die Grundlagen von C++ kannst. Genug gemeckert.
Falsch ist folgendes:
1. Zeile:
Du erstellst ein Objekt vom Typ AnsiString und übergibst dem Konstruktor die Variable playfile. Danach wird der Text von dem Textfeld in das neue Objekt gespeichert. Eine Zeile später existiert das Objekt schon gar nicht mehr. (Kompiliert das überhaupt?)
So wärs richtig:AnsiString playfile = Edit1->Text;2. Zeile:
Du übergibst deiner Funktion den String "open playfile". Somit sucht die Funktion im aktuellen Verzeichnus nach einer Datei names "playfile". Macht wenig Sinn, oder? Also musst du den Inhalt der Variablen playfile hinter deinen open Befehl hängen.mciSendString(AnsiString("open ") + playfile, NULL, 0, NULL);Das funktioniert eventuell nicht, falls mciSendString einen Zeiger auf char erwartet. In dem Fall schaust du in der Doku nach, wie das mit AnsiString funktioniert (hab ich noch nie verwendet).
5. und letzte Zeile:
Da gilt das gleiche wie für Zeile 1Label1->Caption = playfile;btw. Erst Grundlagentutorial, dann nochmal an deinen Mp3-Player rangehen.