Я пытаюсь добавить файл .wav
в качестве ресурса в мою игру C ++ и играть в нее во время выполнения.Вот мой код в моем основном классе:
PlaySound(IDR_WAVE1, GetModuleHandle(NULL), SND_FILENAME);
Мой resource.h
файл:
#define IDR_WAVE1 104
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 105
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
И мой .rc
файл:
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "winres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (United States) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""winres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
#endif // English (United States) resources
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// English (Australia) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENA)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_AUS
/////////////////////////////////////////////////////////////////////////////
//
// WAVE
//
IDR_WAVE1 WAVE "C:\\Users\\zjf\\Desktop\\phil.wav"
#endif // English (Australia) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
ПроблемаЯ получаю сообщение об ошибке при попытке воспроизвести этот файл с ресурса.
аргумент типа int несовместим с параметром типа lpcwstr
Я включилзаголовок resource.h
, и я попытался добавить кавычки в
PlaySound(IDR_WAVE1, GetModuleHandle(NULL), SND_FILENAME);
Так что в итоге получилось бы:
PlaySound("IDR_WAVE1", GetModuleHandle(NULL), SND_FILENAME);
Тем не менее, это заставило компьютер Windows подать звуковой сигнал только один раз.
Буду признателен за любую помощь, поскольку я никогда не работал с файлами ресурсов.