Je ne connais pas winmm.dll, mais apparemment la fonction "waveOutGetPosition" n'est pas utilisé comme il faut. Dans l'aide de microsoft:
le 1er paramètre est le handle du son joué
le 2ème paramètre est un pointeur vers un bloc mémoire (structure) appelé MMTIME
le 3ème paramètre est la taille du bloc mémoire MMTIME
cette fonction retourne la position de lecture actuelle si les paramètres sont correcte, sinon un code d'erreur.
Dans ton code, N_Tick% et PosTrack% varient. Ce ne sont pas des paramètres correct puisque "waveOutGetPosition" attend des valeurs fixes.
Je ne peux pas t'en dire plus, c'est tout ce que j'ai compris:x
winmm.dll semble compliqué à utiliser, tu t'attaque à du lourd