anstatt wave kommt nur pc-signalton c++



  • Hey,
    versuche gerade per c++ eine Wave-Datei abspielen zu lassen, allerdings gibt es nur ein ding oder dong oder was auch immer (es ist auf jeden fall dieser pc-signalton).

    Was ich mache:
    im Quellcode steht
    PlaySound((LPCWSTR) "c:chimes.wav", NULL, SND_FILENAME);

    Als Header habe ich folgendes Eingebunden:
    #include <stdlib.h>
    #include "stdafx.h"
    #include <windows.h>

    #pragma comment(lib, "winmm.lib")
    #include <mmsystems.h>

    1. Warum wird der Sound nicht abgespielt?
    2. Warum gibt es ne Fehlermeldung wenn ich die inkludierten header in der Reihenfolge ändere?

    Vielen Dank für jegliche Unterstützung,
    bacco



  • PlaySound((LPCWSTR) "c:[b]\[/b]chimes.wav", NULL, SND_FILENAME);
    

    weil deine pfadangabe nicht stimmt du hast die backslash's vergessen 🕶



  • geht auch nicht, weder mit einem noch mit zwei backslashs.

    bekomme immer nur den ding-ton

    woran kann das noch liegen?



  • kuck mal da rein evtl machst du ja die gleichen fehler wie er

    New Edit;
    und lass aml den cast weg 😉


  • Mod

    Ich weiß nicht wer immer auf die IDee kommt mit cast Compiler Fehler wegzubekommen:
    Das ist absoluter Blödfug einen char* in einen wchar_t* zu casten!

    PlaySound((LPCWSTR) "c:chimes.wav", NULL, SND_FILENAME);

    Muss heißen:

    PlaySound(_T("c:\\chimes.wav"), NULL, SND_FILENAME);
    


  • wow, sehr cool, hat geklappt martin

    vielen dank für eure hilfen

    PS: Gibt es noch eine möglichkeit anstatt des ausgeschriebenen pfades eine variable zu nehmen? (er nimmt _T(var) nicht)



  • da kannst entweder
    CString sPath;
    char szPath[MAX_PATH];
    TCHAR szPath[MAX_PATH];

    oder
    oder jede art von LP's nemen nur casten solltest du lassen


Anmelden zum Antworten