SetTimer(1,1000,NULL) ......
OnTimer(UINT nIDEvent) 
{
PlaySound (TEXT("a.wav"), NULL, SND_SYNC);
}界面上 加入有5个矩形块,一行显示,要求是没播一次声音, 5个矩形块轮流显示一次,  1秒1轮!
而且如果我把时间改为SetTimer(1,100,NULL) ,那么 5个矩形块还是轮流显示,不过每个的间隔缩短了,
如果我把显示放在OnTimer(UINT nIDEvent) 里面, a.wav 的播放就不是1秒1次了, 会有延迟,
我方到线程里面做显示, 在OnTimer(UINT nIDEvent   setevent还是有延迟!
不知道 音乐播放器里面的 那种显示 是怎么做的

解决方案 »

  1.   

    SetTimer的精确程度非常有限。
    估计楼主需要从别的角度考虑和实现了。
      

  2.   

    你放在线程里,
    TCHAR szSound[] = _T("a.wav");
    PlaySound(szSound,NULL,SND_ASYNC);
    sleep(1000);//播放声音以后,暂停1秒
    PlaySound(NULL, NULL, SND_ASYNC); // 停止播放
      

  3.   

    SetTimer的精确度有限,并且受消息循环的限制。
      

  4.   


    知道了!我按 
    VisualEleven 
    (Eleven[兔子党组织部长]) 
    的方法 实现了声音的精准间隔的播放,
    现在看界面的实现了,应该是要放在另外一个线程吧?