<<valle>> Geschrieben 29. März 2009 Geschrieben 29. März 2009 Hallo alle zusammen, ich hab folgendes Problem ich möchte eine .wav Datei abspielen mit diesem code: #include <windows.h> #include <stdio.h> #pragma comment(lib,"winmm.lib") BOOL play(char *name) { PlaySound(name, NULL, SND_FILENAME | SND_ASYNC); return 0; } int main() { play("test.wav"); getchar(); return 0; } doch mein compiler, ich benutzte Visual C++ 2008 , gibt mir immer den Fehler aus:'PlaySoundW': Konvertierung des Parameters 1 von 'char *' in 'LPCWSTR' nicht möglich Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat. kann mir jemand weiter helfen?? Vielen Dank im Voraus! valle
Klotzkopp Geschrieben 29. März 2009 Geschrieben 29. März 2009 Fast alle WinAPI-Funktion, die Stringparameter haben, gibt es in zwei Formen. Eine endet auf A und benutzt char*-Parameter, die andere endet auf W und hat wchar_t*-Parameter. Der Name der Funktion ohne A oder W am Ende ist nur ein Präprozessorsymbol, das je nach Projekteinstellungen (Unicode- oder Multibytezeichensatz) entweder auf die A oder die W-Variante verweist. Der Parametertyp ist dann einn LP©TSTR. Das ist auch ein Präprozessorsymbol, das eben entweder auf LP©STR (char*) oder LP©WSTR (wchar_t*) verweist. Bei Visual C++ 2008 ist der Standard Unicode, nicht mehr Multibyte, d.h. alle WinAPI-Funktionen erwarten die wchar_t-Parameter. Du hast 4 Möglichkeiten: Stell die Projekteinstellungen von Unicode auf Multibyte.Ändere die Parameter von char auf TCHAR. Dann kannst du später beliebig zwischen Unicode und Multibyte wechseln.Ändere die Parameter von char auf wchar_t.Benutze ausdrücklich die A-Variante (PlaySoundA).
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden