PlaySound Frage ...



  • VisualStudio und DevCpp benutzen verschiedene Compiler. Das ist nicht einfach so übertragbar.
    Am besten schaust du dir mal ein paar Grundlagen an, anstatt hier einfach irgendwelche Fragen zu stellen.

    BTW: DevCpp ist ziemlich veraltet. Wenn du VisualStudio hast, dann würde auch dabei bleiben.



  • C++Laie1 schrieb:

    tja ... und jetz ?

    Für DEV-CPP (steht in der Fehlermeldun was der Compiler will):

    const char* my_wavefile = "C:\\Examplepath\\examplewavefile.wav";
    
    if ( FALSE == PlaySound(  my_wavefile , NULL, SND_FILENAME | SND_ASYNC | SND_LOOP ) )
    puts ( "File not found." );
    

    Für Visual Studio:
    TCHAR my_wavefile = _T("C:\\Examplepath\\examplewavefile.wav");

    Wenn du SND_ASYNC verwendest, musst du irgendwie auf das Abspielen warten (getchar oder so), weil PlaySound sofort zurückehrt:

    SND_ASYNC
    The sound is played asynchronously and PlaySound returns immediately after beginning the sound. To terminate an asynchronously played waveform sound, call PlaySound with pszSound set to NULL.

    Das könnte dein kurzes Knacken erklären, weil das Programm zu Ende ist bevor du etwas richtig zu hören bekommst.

    Gruß,
    F.d.S.



  • Freund der Sonne schrieb:

    const char* my_wavefile = "C:\\Examplepath\\examplewavefile.wav";
    
    if ( FALSE == PlaySound(  my_wavefile , NULL, SND_FILENAME | SND_ASYNC | SND_LOOP ) )
    puts ( "File not found." );
    

    DevCpp gibt dann den Fehler aus ...

    [Linker error] undefined reference to `PlaySoundA@12'
    


  • Du musst die richtige Bibliothek einbinden.



  • ja das is ja sehr hilfreich ... es gibt einen ganzen pott davon ... welche denn ?
    von MSVC++ kenn ich das

    #pragma comment(lib, "winmm.lib")
    

    und bei Dev ?



  • Jeder Compiler bringt da seine eigene mit. Du kannst z.B. nicht mit dem Dev die Bibliotheken von VC benutzen, denn dann kommen solche Fehlermeldungen zustande.



  • F.d.S schrieb:

    Jeder Compiler bringt da seine eigene mit. Du kannst z.B. nicht mit dem Dev die Bibliotheken von VC benutzen, denn dann kommen solche Fehlermeldungen zustande.

    Machine schrieb:

    VisualStudio und DevCpp benutzen verschiedene Compiler. Das ist nicht einfach so übertragbar.

    🙄



  • Jeder Compiler bringt da seine eigene mit. Du kannst z.B. nicht mit dem Dev die Bibliotheken von VC benutzen, denn dann kommen solche Fehlermeldungen zustande.

    Wat!? Stimmt mal überhaupt nicht.
    Bei manchen Ausnahmefällen ist das so. Die Libs sind NICHT von Compiler (Eigentlich IDE) zu Compiler anders eingebunden.

    @C++Laie
    Haste du auch schon versucht die andere Lib zu inkludieren...?



  • welche den ?



  • way schrieb:

    Jeder Compiler bringt da seine eigene mit. Du kannst z.B. nicht mit dem Dev die Bibliotheken von VC benutzen, denn dann kommen solche Fehlermeldungen zustande.

    Wat!? Stimmt mal überhaupt nicht.
    Bei manchen Ausnahmefällen ist das so. Die Libs sind NICHT von Compiler (Eigentlich IDE) zu Compiler anders eingebunden.

    Da bist du schief gewickelt, es geht hier um die WinApi.


Anmelden zum Antworten