我知道如何演奏我选择的声音:PlaySound(TEXT("Data\sounds\Welcome.wav"), NULL, SND_FILENAME);
问题是这个其他声音,路径是未知的,因为它取决于变量的结果。
我尝试将此值作为路径,但我不能。有什么想法吗?
我的尝试 : (承认 ObjectOpe.getCurrentOperationur(( 返回一个字符串(
std::string NameOP = ObjectOpe.getCurrentOperateur();
std::string Path = "Data\sounds\Persos\ATK\" + NameOP + ".wav";
const char * LPCTSTRPath = Path.c_str();
PlaySound((LPCTSTR)LPCTSTRPath, NULL, SND_FILENAME);
或
PlaySound(TEXT("Data\soundsPersos\ATK\" + NameOP + ".wav"), NULL, SND_FILENAME)
什么都没用。
谢谢你;(
PlaySound()
是一个预处理器宏,它映射到调用PlaySoundA()
或PlaySoundW()
,具体取决于您的项目是配置为将TCHAR
映射到char
还是wchar_t
。
对于您正在尝试的内容,只需摆脱您的类型转换并直接调用PlaySoundA()
:
std::string NameOP = ObjectOpe.getCurrentOperateur();
std::string Path = "Data\sounds\Persos\ATK\" + NameOP + ".wav";
PlaySoundA(Path.c_str(), NULL, SND_FILENAME);
或:
PlaySoundA(("Data\soundsPersos\ATK\" + NameOP + ".wav").c_str(), NULL, SND_FILENAME)