Problem mit "mciSendString"



  • Kann mir vielleicht bitte einer sagen, warum ich nach öfterem Abspielen der Sounds ein Crash bekomme? Das Programm hängt sich plötzlich auf und das CPU-Fenster öffnet sich.
    Der Quellcode sieht wie folgt aus...

    void TfrmMain::SoundsLaden()//Sounds initialisieren
    {
        AnsiString a;
        a = "open  resources/sounds/boom.wav alias Boom";
        mciSendString(a.c_str(), NULL, 0, NULL);
        a = "open  resources/sounds/crash.wav alias Crash";
        mciSendString(a.c_str(), NULL, 0, NULL);
        a = "open  resources/sounds/bomb.wav alias Bomb";
        mciSendString(a.c_str(), NULL, 0, NULL);
        a = "open  resources/sounds/kotz.wav alias Kotz";
        mciSendString(a.c_str(), NULL, 0, NULL);
        a = "open  resources/sounds/laser.wav alias Laser";
        mciSendString(a.c_str(), NULL, 0, NULL);
    }
    void TfrmMain::Play(String Alias)//Sounds abspielen
    {
        AnsiString a = "play  \"" + Alias + "\" from 0";
        mciSendString(a.c_str(), NULL, 0, NULL);
    }
    void TfrmMain::SoundsLoeschen()//Sounds deleten
    {
        mciSendString("stop  all", NULL, 0, NULL);
        mciSendString("close all", NULL, 0, NULL);
    }
    

    Beim OnClose vom Formular werden die Sounds erst geclosed. Während dem Programm spiele ich die Sounds alle abwechselnd ab.
    Vorher hatte ich jeden Sound beim Abspielen immer neu geöffnet und auch nicht geclosed. Trotzdem bekomme ich auf diese Weise auch den selben Fehler.
    Kann mir vielleicht einer helfen, oder ist mciSendString nicht dafür ausgelegt, viele Sounds abzuspielen?


Anmelden zum Antworten