Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在C++;视窗7_C++_Windows_Multithreading_Audio_Poco - Fatal编程技术网

C++ 如何在C++;视窗7

C++ 如何在C++;视窗7,c++,windows,multithreading,audio,poco,C++,Windows,Multithreading,Audio,Poco,我在C++/Visual Studio下努力寻找以下需求的解决方案: 很简单:为了报警,我必须以无休止的循环顺序播放文件中的许多wav声音,每个声音之间有一个短暂的延迟: 声音-1…声音-2。。。声音-n。。。声音-1。。。声音-2 在任何时候都可以取消这一系列的声音 我尝试使用PlaySound(),但问题是,一旦声音开始运行,我就无法正确停止声音 当一个声音通过flag异步播放时,可以通过为参数1指定NULL来停止,但是我不知道在启动sound-2之前sound-1何时完成。事实上,启动s

我在C++/Visual Studio下努力寻找以下需求的解决方案:

很简单:为了报警,我必须以无休止的循环顺序播放文件中的许多wav声音,每个声音之间有一个短暂的延迟:

声音-1…声音-2。。。声音-n。。。声音-1。。。声音-2

在任何时候都可以取消这一系列的声音

我尝试使用
PlaySound()
,但问题是,一旦声音开始运行,我就无法正确停止声音

当一个声音通过flag异步播放时,可以通过为参数1指定NULL来停止,但是我不知道在启动sound-2之前sound-1何时完成。事实上,启动sound-2会中断sound-1

然而,在同步模式下,声音的中断是不可能的

为了能够取消声音,我尝试将PlaySound放入
Poco::Thread
,但是如何取消线程呢?预计不会取消线程…使用
Poco::Task
instaed会在取消时在0x01002d62处出现
未处理的异常…
,因此它也不起作用

对此,首选的解决方案是什么? 有更好的解决办法吗


谢谢

它们都是WAV文件,你知道它们能保存多久。开始播放
sound1
时,请存储结束时间。没必要猜测