我正试图在我的Win32 API乒乓游戏中播放.wav声音。当一个桨射击“火球”时在另一方面,我想播放.wav文件,但是在声音持续时间内一切都会停止。我想用多线程来解决这个问题。
我试图解决这个问题的方式没有区别:
线程创建和函数调用:
std::thread t1(&Game::PlayFire, this);
t1.join();
Playsound功能:
void Game::PlayFire()
{
PlaySound(TEXT("fireball.wav"), NULL, SND_FILENAME);
}
我真的只是在寻找std :: head解决方案,但是任何可能的答案都值得赞赏。
谢谢! 沙恩
答案 0 :(得分:0)
对t1.join的调用会阻止直接线程继续执行,直到t1完成
答案 1 :(得分:0)
考虑使用std :: thread :: detach(http://en.cppreference.com/w/cpp/thread/thread/detach)。