Problem mit mciSendString (Musik abspielen)



  • Hallo Forum,
    (fürchte, ich bin im falschen Forum, sorry schonmal dafür)
    wie oben beschrieben habe ich ein Problem mit mciSendString:

    void PlayMusik(String FileName)
    {
            AnsiString a = "open \""+FileName+"\" alias MP3 wait";
            mciSendString(a.c_str(), NULL, 0, NULL);
            mciSendString("play MP3 from 0 wait", NULL, 0, NULL);
            mciSendString("close MP3", 0,0,0);
    
    }
    

    klappt so auch, nur wenn ich mit der Funktion eine andere Datei öffnen will,
    während die erste noch läuft, hält er diese zwar an, spielt aber dann die erste
    Datei wieder von vorn ab. Wie kann ich das ändern?

    MfG
    Chris_



  • Chris_ schrieb:

    ..eine andere Datei öffnen will, während die erste noch läuft..

    void PlayMusik(String FileName)
    {
       mciSendString("stop  all", NULL, 0, NULL);
       mciSendString("close all", NULL, 0, NULL);
       AnsiString a = "open  \"" + FileName + "\" alias MP3";
       mciSendString(a.c_str(), NULL, 0, NULL);
       mciSendString("play  MP3 from 0", NULL, 0, NULL);   // ohne wait
       // mciSendString("close MP3", 0,0,0);               // kommentieren
    }
    

    Jetzt kannst du beliebig die Titel wechseln, ohne auf das Ende des gerade laufenden zu warten.

    Aber:
    Das Device ist nach dem Abspielen des letzten Titels offen. Spätestens zum Programmende also ein "close all".



  • danke kpeter, so funktionierts

    Chris_


Anmelden zum Antworten