A multimédiás időzítő felbontása állítható, ezzel sokkal pontosabb ütemezést tesz lehetővé, mint más időzítők.
Egy új időzítőt a timeSetEvent API függvény segítségével indíthatunk el. A függvény használatához a uses listában fel kell sorolnunk az MMSystem unit nevét is.

timeSetEvent
function timeSetEvent(
uDelay,
uResolution: UINT;
lpFunction: TFNTimeCallBack;
dwUser: DWORD;
uFlags: UINT
): MMRESULT;
Elindít egy új időzítőt.
Paraméterek
uDelay
A késleltetés értéke, ezredmásodpercben.
uResolution: UINT
Az időzítés felbontása, ezredmásodpercben. Minél kisebb értéket adunk meg, az időzítés annál pontosabb lesz. Növekvő értékek esetén a pontosság csökken.
lpFunction: TFNTimeCallBack
Egy Callback függvény, amely tartalma akkor fut le, ha az uDelay-ben megadott idő letelik. A függvény neve tetszőleges lehet, de az alábbi paraméterlistával kell rendelkeznie.
procedure DoTimer(uTimerID,uMessage: UINT; dwUser,dw1,dw2: DWORD) stdcall;
dwUser: DWORD
Egy érték átadását teszi lehetővé a Callback függvénynek.
uFlags: UINT
Az időzítő működését szabályozza. TIME_ONESHOT – az időzítő csak egyszer fut le, TIME_PERIODIC – periodikus futást eredményez, míg le nem állítjuk.
Visszatérési érték
Ha az időzítő elindítása sikeres volt, a visszatérési érték az időzítő azonosítója, ellenkező esetben 0.

timeKillEvent
function timeKillEvent(
uTimerID: UINT
): MMRESULT;
Egy futó időzítő megállítására szolgál.
Paraméterek
uTimerID: UINT
Az időzítő azonosítója.
Visszatérési érték
Ha az időzítő leállítása sikeres volt, 0 értékkel tér vissza.