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

Win32 API multithreading to play .wav file with no lag

本文关键字:延迟 文件 wav API 多线程 播放 Win32      更新时间:2023-10-16

我正在尝试在我的Win32 API pong游戏中播放。wav声音。当一个桨向另一个桨发射一个"火球"时,我想播放。wav文件,但是在声音持续期间一切都停止了。我想用多线程来解决这个问题。

我试图解决这个问题的方式没有区别:

线程创建和函数调用:

std::thread t1(&Game::PlayFire, this);
t1.join();

Playsound功能:

void Game::PlayFire()
{
PlaySound(TEXT("fireball.wav"), NULL, SND_FILENAME);
}

我真的只是在寻找std::头的解决方案,但是任何可能的答案都很感激。

谢谢!Shane

t1的调用。Join阻止立即线程继续执行,直到t1完成

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