Win32 API多线程播放.wav文件没有延迟

时间:2014-05-25 23:29:54

标签: c++ multithreading winapi delay wav

我正试图在我的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解决方案,但是任何可能的答案都值得赞赏。

谢谢! 沙恩

2 个答案:

答案 0 :(得分:0)

对t1.join的调用会阻止直接线程继续执行,直到t1完成

答案 1 :(得分:0)

考虑使用std :: thread :: detach(http://en.cppreference.com/w/cpp/thread/thread/detach)。