gpt4 book ai didi

multithreading - 如何停止/暂停线程正在播放的WAV文件?

转载 作者:行者123 更新时间:2023-12-03 02:04:00 26 4
gpt4 key购买 nike

我创建了一个专用于播放wav的线程。主线程用于Win32窗体GUI(VS 2010)。收到停止或暂停请求后,我可以使用waveOutpause或waveOutClose函数。但是,作为C++编程的初学者,我不知道应该如何放置该函数。我知道上述函数不能从线程外部直接调用以播放wav。有没有简单的解决方案?

最佳答案

主线程可以使用SetEvent / ResetEvent来控制WAV线程的停止/运行状态。 WAV线程每次在其播放循环附近都会调用WaitForSingleObject(超时为0)以感知事件状态。

同样,您可以使用第二个事件在暂停后恢复播放。当WAV线程在无信号事件(具有INFINITE超时)上调用WaitForSingleObject时,该线程将被挂起,等待事件被信号通知。

关于multithreading - 如何停止/暂停线程正在播放的WAV文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29081757/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com