共65分,我用waveOutOpen打开设备时设备已被占用,怎么解决?
我用循环播放(waveOutWrite)几个wav文件的数据,播放第一个时正常,播放之后的设备就被占用(如用延时可解决,但wav的长短不固定);该如何在播放下一句前判断设备是否已闲置?
do
{
result=waveOutOpen(&WaveOut,WAVE_MAPPER,&WaveFormat,(DWORD) onSpeakFinish,NULL,CALLBACK_FUNCTION);
if(result==4)
{waveOutUnprepareHeader(WaveOut,&WaveHeader,sizeof(WAVEHDR));
waveOutClose(WaveOut);}
}while(result!=4);
我这样写了几句,但不行,而且这种写法也不安全,请到高手指教
同内容的另一个帖子为
如何获的设备占用的消息?[Delphi]