Bonjour à tous,
Je suis en train de développer un petit métronome. Il faut donc que j'arrive à générer un son toutes les X millisecondes (selon le tempo choisi) et ceci de façon précise, pas question d'avoir un décallage (perceptible par l'être humain en tout cas).
J'utilise actuellement un timer pour générer un évenement et l'API PlaySound pour jouer mon son.
J'ai mappé mon fichier de son en mémoire afin qu'il ne doive pas être lu sur le disque dur à chaque lecture (Bien qu'a mon avis, Windows agisse déja comme celà sans que je le fasse explicitement)
J'ai essayé d'utiliser une tmrProc plutot que le message WM_TIMER.
J'ai testé différents mode de lecture de l'API PlaySound (sync et async) mais rien n'y fait.
Le problème survient lorsque le processeur est sollicité, comme par exemple lorsque je reduis/agrandi une fenetre. A fréquence élevée, le son est "coupé" pendant quelques 10eme de seconde.
- Y aurait-il un meilleur moyen que d'utiliser un timer pour générer des evenements à intervalles réguliers et précis?
- Faudrait-il jouer avec les priorités, créer un thread pour la lecture du son,...?
Merci d'avance,
Crisanar
Partager