关于音频播放接口阻塞的有关问题

关于音频播放接口阻塞的问题
waveOutPrepareHeader
waveOutWrite
waveOutUnprepareHeader
用的这3个API接口,正常情况下是可以播放的,但播放的工程中如果对计算机的音频设置进行更改,可能会造成这3个函数中的一个阻塞,请问有什么办法让其继续往下执行或返回错误,而不是堵在那里,感谢啊!

------解决方案--------------------
有没有处理它们的返回值, 正常来说应该会返回异常的吧
------解决方案--------------------
关于音频播放接口阻塞的有关问题疑难杂症!
------解决方案--------------------
我觉得这是这API的缺陷所致,MSDN已经说的很清楚了。一定要Pause才能设置的。

The buffer must be prepared with the waveOutPrepareHeader function before it is passed to waveOutWrite. Unless the device is paused by calling the waveOutPause function, playback begins when the first data block is sent to the device.


楼主为啥不用MCI呢?MCI控制和执行都要方便许多呢。