繁体   English   中英

C ++ mciSendString setAudio错误

[英]C++ mciSendString setaudio error

我在这里有这个功能; 音量设置为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上也没有。

这是行不通的,因为volume是一个整数而不是一个字符串。 您需要将整数转换为字符串。 根据您的编译器,您应该能够使用std :: to_string从int转换为string。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM