我一直在测试声音,我注意到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;
}
此代码播放声音,但它会等待输出“this sound is Cool”,直到声音播放完毕。我怎样才能让它不这样做呢?
异步播放声音:
PlaySound(L"E:\\Downloads\\eb_sfx_archive\\brainshock.wav", NULL, SND_ASYNC);
来自MSDN https://msdn.microsoft.com/en-us/library/windows/desktop/dd743680(v=vs.85).aspx文档:
声音是异步播放的PlaySound
声音开始后立即返回。要终止异步播放的波形声音,请调用PlaySound
with pszSound
set to NULL
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)