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 wird
    

    soweit 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 1

    Label1->Caption = playfile;
    

    btw. Erst Grundlagentutorial, dann nochmal an deinen Mp3-Player rangehen.


Anmelden zum Antworten