0

我对 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);
        }

    }
4

1 回答 1

0

我找到了大部分的解决方案。我需要把它放在一个 do while(_getch() != q); 环形。

于 2020-07-24T18:51:22.053 回答