我对C ++还是很陌生,只想了解一下。我正在尝试在程序继续之前播放声音。 Irrklang说它可以正确加载文件,但是我听不到任何声音。我已经测试了irrklang本身,它在该项目和目录中运行良好。我正在使用的某些代码来自irrklang api本身(使用声音事件):api。我还做了很多关于堆栈溢出和其他内容的浏览,例如:1,2,3,4。另外,我的下一步将用转换为const char *(str.c_str())的字符串替换“ getout.ogg”。当我使用const char *时,它不会给我错误,但是我不知道它是否可以工作。我的应用程序是一个控制台应用程序,但如果有帮助,请确保在关闭它之前一直保持打开状态。任何帮助表示赞赏。
void Test() {
std::cout << "\n";
std::string str = "A.wav";
ISoundEngine* engine = createIrrKlangDevice();
SoundEndReceiver* endR = new SoundEndReceiver();
//char const * sound = ""; //this is needed for conversions
//str.c_str()
irrklang::ISound* snd = engine->play2D("getout.ogg", false, false, true);
if (snd) {
snd->setSoundStopEventReceiver(endR);
}
}
答案 0 :(得分:0)
我大部分时候都找到了解决方案。我需要把它放在一个while(_getch()!= q); 循环。