我对 c++ 还很陌生,只是想把它弄出来。我正在尝试在程序继续之前播放声音。Irrklang 说它可以正确加载文件,但我什么也听不见。我已经测试了 irrklang 本身,它在这个项目和目录中运行良好。我正在使用的一些代码来自 irrklang api 本身(使用声音事件):api。我在这里也做了很多关于堆栈溢出和其他的浏览,例如:1 , 2 , 3 , 4. 此外,我的下一步是将“getout.ogg”替换为转换为 const char* (str.c_str()) 的字符串。当我使用 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);
}
}