Variable MP3-Datei auswählen / einfügen



  • [Borland C++ Builder 6]

    N' Abend,

    Ich wäre sehr froh wenn Ihr mir weiterhelfen könntet.

    Zur Thematik, ich habe einen MP3 Player geschrieben,
    der mir immer erfolgreich, beim gewünschten Zeit-
    punkt, meine MP3-Datei(file.mp3) wiedergibt.

    Dies mache ich mir diesem Befehl hier:

    mciSendString("open C:/file.mp3 wait", NULL, 0, NULL);
    mciSendString("play C:/file.mp3", NULL, 0, NULL);

    Mein Problem:

    Ich möchte mir durch einen Buttonklick eine MP3-Datei
    aussuchen dürfen und nicht die festgelegte Datei
    nehmen (möchte ja auch schließlich Abwechslung beim
    Austehen :D)

    Bis jetzt habe ich es hinbekommen meine Datei auszusuchen
    die dann anschließend den Pfad in ein textfeld reinschreibt.
    Doch wie soll ich die 2 Zeilen:

    mciSendString("open C:/file.mp3 wait", NULL, 0, NULL);
    mciSendString("play C:/file.mp3", NULL, 0, NULL);

    umformen, dass Edit1->Text (der Pfad der MP3 Datei),
    in dem Befehl oben eingefügt wird ?

    mciSendString("open ""Edit1->text"" wait", NULL, 0, NULL);
    wurde mir im Netz schonmal empfohlen was aber nicht klappte
    als Fehlermeldung kam, dass der AnsiString nicht mit einem
    Char String verglichen werden kann.

    Ich habe mich schon 2 Stunden mit dem Problem beschäftigt
    bzw google gequält, was schlagt Ihr mir vor,
    was soll ich machen ?

    greetz
    niroxx



  • in borland-c++ kenn ich mich nicht aus, aber ich kann dir eine lösung in standard-ansi-c++ geben:

    #include<string>
    using namespace std;
    
    string str="open \"";
    str+=Edit1->text;
    str+="\" wait";
    mciSendString(str.c_str(),NULL,0,NULL);
    


  • Vielen Danke,

    bin später dann doch auf diese Lösung gestoßen :

    AnsiString A= "open "+Edit1->Text;
    mciSendString(A.c_str(), NULL, 0, NULL);
    

    ist im Prinzip aber das gleiche, also DANKE

    greets
    niroxx



  • niroxx schrieb:

    bin später dann doch auf diese Lösung gestoßen

    .. worden... 😃


Anmelden zum Antworten