在PlaySound中将变量值用作路径

时间:2018-10-24 11:31:48

标签: c++ path

我知道如何播放我选择的声音: 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)

什么都没有。

谢谢;)

1 个答案:

答案 0 :(得分:0)

PlaySound()是一个预处理程序宏,它根据您的项目是否配置为将PlaySoundA()映射到PlaySoundW()或{而映射到调用TCHARchar {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);