PlaySound(..) wiederholen



  • Hallo, ich hatte folgende idee, ich wollte die Funktion PlaySound(...) mehrmals aufrufen.

    So ungefähr

    for(int i=1;i<=2,i++)
    {
     PlaySound(D:\\wave.wav",NULKL, SND_FILENAME);
    }
    

    jedoch aheb ichd as problem, dass ders eound nicht vollständig abgespielt wird.

    Das heißt, der sound wir 2 mal kurz angespielt, aber ich möchte gerne versuchen, den sound 2 abzuspielen und das 2 mal vollständig.

    Aber wie geht das.

    ich hatte auchs chon folgendes versucht

    for(int i=1;i<=2,i++)
    {
     PlaySound(D:\\wave.wav",NULKL, SND_FILENAME);
     _sleep(1);
    }
    

    ging jedoch auch nicht.

    Die SND_...-Parameter ahben mir auch nicht wirklich geholfen.

    Vielden Dank für euhre hilfe.

    ciao zani

    [ Dieser Beitrag wurde am 05.07.2003 um 21:49 Uhr von Jansen editiert. ]



  • Du mußt auch das Flag SND_SYNC angeben. Das bewirkt, daß die Funktion erst dann zurückkehrt, wenn der Sound zu Ende gespielt ist. Dann wird Deine Schleife erneut durchlaufen und dann wieder PlaySound komplett durchlaufen.

    Beim letzten Durchgang könntest Du dann aber eigentlich auch an Stelle von SND_SYNC das Flag SND_ASYNC setzen. Dann kann Dein Programm schon wieder andere Dinge machen, während der Sound ein letztes Mal gespielt wird.

    Aber Vorsicht: ist eigentlich eine WinAPI Frage....... 😃



  • Dank für deine Hilfe... Probieres es gleich mala us.



  • for(int i=1; i<=Form2->CSpinEdit1->Value;i++)
       {
        PlaySound(Form2->Edit2->Text.c_str(),NULL, SND_SYNC);
       }
    

    Habs so gemacht, aber ein großer unterschied zur ersten Lösung, bemerke ich nicht.

    ciao zani



  • Habs grad eben mit einem beliebigen Sound aus meinem Windows\Media-Verzeichnis gemacht. Bei mir funzt das einwandfrei. Der Sound wird jeweils komplett abgespielt.

    Der Name der .WAV-Datei ist korrekt und Du kannst die .WAV auch mit dem Mediaplayer komplett abspielen?



  • Ja, es geht doch. Leider war die wav so abgehackt.

    Nochmal vielen Dank

    ciao zani


Anmelden zum Antworten