我在这里有这个功能; volume设置为500,文件名字符串设置为“test.mp3”。
void Volume(int volume, std::string filename)
{
std::string szCommand = "setaudio \"" + filename + "\" volume to " + volume;
mciSendString(szCommand.c_str(), NULL, 0, 0);
}
它给了我错误;
no match for 'operator+' in 'std::operator+(std::basic_string<_CharT, _Traits, _Alloc>&&, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>](((const char*)"\" volume to ")) + volume'|
我不知道为什么,因为下面的以下函数在加载.mp3文件时效果很好
void Load(std::string filename)
{
std::string szCommand = "open \"" + filename + "\" type mpegvideo alias " + filename;
mciSendString(szCommand.c_str(), NULL, 0, 0);
}
我很困惑,为什么它不起作用。 setaudio不接受文件名有什么问题?我到处搜索,没有答案,甚至在MSDN上都没有。