我知道如何播放我选择的声音:
PlaySound(TEXT("Data\\sounds\\Welcome.wav"), NULL, SND_FILENAME);
问题是这种声音,路径未知,因为它取决于变量的结果。
我尝试将此值用作路径,但我不能。有什么想法吗?
我的尝试: (承认ObjectOpe.getCurrentOperateur()返回一个字符串)
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);
OR
PlaySound(TEXT("Data\\sounds\Persos\\ATK\\" + NameOP + ".wav"), NULL, SND_FILENAME)
什么都没有。
谢谢;)
答案 0 :(得分:0)
PlaySound()
是一个预处理程序宏,它根据您的项目是否配置为将PlaySoundA()
映射到PlaySoundW()
或{而映射到调用TCHAR
或char
{1}}。
对于您要尝试的操作,只需摆脱类型转换并直接致电wchar_t
:
PlaySoundA()
或者:
std::string NameOP = ObjectOpe.getCurrentOperateur();
std::string Path = "Data\\sounds\\Persos\\ATK\\" + NameOP + ".wav";
PlaySoundA(Path.c_str(), NULL, SND_FILENAME);