我做了一个MIDI播放器,自己解析MIDI文件,用timeSetEvent启动毫秒级定时器向计算机发MIDI码。在一般情况下效果不错。但是当自身窗口或其它窗口最大化、最小化时,播放时就会“卡”,我想是因为系统调度问题,CPU被分配给其它程序了,导致当前程序“缺少”CPU而出现“卡”,随即我在“播放”的时候将程序的优先级设置为最高,用的函数是
//set process priority to a high level for a time-critical task
SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS);效果还是不行,还是“卡”,但是这个问题我想是肯定可以解决的,因为用专业的播放器,如千千静听,Winamp都不会“卡”,无论你怎么最大化,最小化!期待解决。我想应该会有高手。