Tiemr 前三十秒准确后三十秒慢1,2秒!

popcoffee   2010-3-25 10:00 楼主
我在应用程序里面用SetTimer(1,1000,NULL)
在OnTimer(UINT nIDEvent)里面:
PlaySound (TEXT("A.wav"), NULL, SND_SYNC);
出来的声音是前三十秒是一秒一次,后三十秒每次要慢点点,但经过三十秒后又是一秒一次?
why?
是不是每次都慢点,只不过到三十秒的时候 延迟效果才出来?
A.wav 的总长是0.10秒



回复评论 (13)

Timer本身就是不准的。
点赞  2010-3-25 10:02
通过SetTimer(1,1000,NULL)能如此准确定时,那值得庆贺。
点赞  2010-3-25 10:08
我的问题是由下面的问题引出的: 各位帮忙看看

【设计思路求助】SetTimer 的准确和界面的配合显示


Timer 不准确?   是正常的?   
点赞  2010-3-25 10:12
Timer本身是不精确的,可以使用,GetTickCount或者一个查询高精度的的函数,误差很少。
点赞  2010-3-25 10:54
可以考虑使用多媒体定时器,那是相当的准确
点赞  2010-3-25 11:40
呵呵,这样正常,如果开始不准,很不靠谱,那肯定是有问题了。呵呵现在正常。
点赞  2010-3-25 11:42
引用: 引用 5 楼 91program 的回复:
可以考虑使用多媒体定时器,那是相当的准确


这里有怎么使用的
[url=http://www.cnfgg.com/article/Vc/vc_mmTimer.htm][/url]

不过我的要求以基本达到,  下次再用 ,先记住了! 谢谢斑竹
点赞  2010-3-25 17:16
呵呵,换个思路问题就解决了,挺好。
点赞  2010-3-25 18:12
OnTimer累计误差会很大的。。。。不信你试试。。。好夸张的。。。
点赞  2010-3-30 13:32
建议使用别的API,这个TIMER的消息是个低级消息,在有别的消息运行时,可能会受到影响.而且他的精度最高是55毫秒.
点赞  2010-4-2 10:28
路过学习了!
点赞  2010-4-2 13:07
路过   看看
点赞  2010-4-2 13:10
引用: 引用 5 楼 91program 的回复:
可以考虑使用多媒体定时器,那是相当的准确


還不夠準
自己加上硬鑑定時中斷,優先權設為0,保證超級準確

点赞  2010-4-3 08:53
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复