我一直在测试声音,我注意到PlaySound
正在阻挡,即它等待声音播放完毕才会返回。
#include <iostream>
#include <Windows.h>
#include <mmsystem.h>
int main()
{
PlaySound("E:/Downloads/eb_sfx_archive/brainshock.wav", 0, SND_FILENAME);
std::cout << "this sound is cool";
Sleep (500);
std::cout << "\nmeh... not really";
return 0;
}
此代码播放声音,但它等待输出&#34;此声音很酷&#34;直到声音播放完毕。我怎么能不这样做?
答案 0 :(得分:4)
异步播放声音:
PlaySound(L"E:\\Downloads\\eb_sfx_archive\\brainshock.wav", NULL, SND_ASYNC);
来自MSDN文档:
声音以异步方式播放,
PlaySound
在开始播放后立即返回。要终止异步播放的波形声音,请在PlaySound
设为pszSound
时致电NULL
。
答案 1 :(得分:3)