Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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).

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...