Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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
Multithreading 如何停止/暂停线程正在播放的wav文件?_Multithreading_Visual Studio 2010_Visual C++_Audio - Fatal编程技术网

Multithreading 如何停止/暂停线程正在播放的wav文件?

Multithreading 如何停止/暂停线程正在播放的wav文件?,multithreading,visual-studio-2010,visual-c++,audio,Multithreading,Visual Studio 2010,Visual C++,Audio,我已经创建了一个专门用于播放wav的线程。主线程用于Win32 form GUI(VS 2010)。当收到停止或暂停请求时,I可以使用WaveOutpuse或waveOutClose函数。然而,只是一个比C++编程初学者多一些,我不太确定我该如何把函数放进去。我知道不能直接从线程外调用上述函数来播放wav。是否存在一个简单的解决方案 主线程可以使用SetEvent/ResetEvent来控制WAV线程停止/运行状态。WAV线程每次围绕其播放循环调用WaitForSingleObject(超时为0

我已经创建了一个专门用于播放wav的线程。主线程用于Win32 form GUI(VS 2010)。当收到停止或暂停请求时,I可以使用WaveOutpuse或waveOutClose函数。然而,只是一个比C++编程初学者多一些,我不太确定我该如何把函数放进去。我知道不能直接从线程外调用上述函数来播放wav。是否存在一个简单的解决方案

主线程可以使用SetEvent/ResetEvent来控制WAV线程停止/运行状态。WAV线程每次围绕其播放循环调用WaitForSingleObject(超时为0),以检测事件状态


类似地,您可以使用第二个事件在暂停后继续播放。当WAV线程在无信号事件(无限超时)上调用WaitForSingleObject时,线程将挂起,等待事件发出信号。

您已经尝试了什么?哦,听起来很酷。但我使用的是pthread(正如在讲座中所教的)。pthread中是否存在类似的方法?非常感谢!!