Ben oui, dans l'unité MMSystem où on trouve les fonctions multimédia 'son, vidéo,... ), on trouve aussi un timer.
Son avantage sur le timer "classique" est sa précision, son inconvénient : il bouffe des ressources CPU.
Mais comme disait ma grand-tante Agathe, : "On n'a rien sans rien !"
Je vous en ai fait un composant, avec les propiété habituelles du TTimer : Interval, enabled, OnTimer, plus une : TimerMode, qui permet de choisir un fonctionnement périodique du timer (comme TTimer) ou un fonctionnement "OneShot" (un seul évènement et puis dodo !)
Conclusion :
Comme vous pouvez le constater dans la démo (ou sur la capture d'écran), entre le TTimer et le TMMTImer, tous deux programmés avec un intervalle de 10 millisecondes, il n'y a pas photo :
Au bout de 30 secondes de fonctionnement (presque), si le TMMTImer a bien compté 2999 évènements, le TTimer n'en a compté que 544 !!!! soit un intervalle réel d'environ 55 millisecondes. (d'accord, c'est avec un P.III 800 MHz sous Win98, mais même sous XP sur P.IV 2.66GHz, le TTimer ne passe pas les 2000 évènements)
Mise à jour (05/07/04) : Retrait des Uses inutiles dans la démo (Merci JLGarioud)
si vous executer une requete sql ttimer s'arrete MMtimer lui continue.......Bravo
Ensuite tu compiles et tu installes le paquet, et voila il est installé ! N'oublie pas de sauvegarder les changements du paquet ;)
Cordialement, Bacterius !
moi je dis bravo !
Ce timer est quasiment parfait.
J'ai fait un test : sur mon petit ordi portable, le timer multimedia fait 998 iterations en 1 seconde avec règlage 1 milliseconde !
Alors que le timer n'en fait que 50 -_-'
Merci pour ce génial composant :)
Cordialement, Bacterius !
J ai urgement besoin d un composant comme ça mais je ne vois pas comment installer ça de manière a pouvoir l utilizer comment um composant de ma Form1 de manière a pouvoir accéder a l évenement OnTimer... Quelqu'un peut m'aider?
Merci d' avance!
J'utilise le timer pour faire un métronome, grâce à un TMediaPlayer qui .open un fichier wav (une grosse caisse) dans FormShow et .play ledit fichier dans la fonction de callback du timer (je dis "il .open et il .play" pour illustrer les méthodes du TMediaPlayer que j'utilise).
Avec un timer classique, ça va à peu près, mais ça se complique très vite si je rajoute un deuxième, voire un troisième MediaPlayer et donc un deuxième ou troisième son (par exemple une caisse claire et une charley): question régularité, ça se met à déconner complètement et on dirait un batteur asthmatique parkinsonien bourré grave qui joue.
D'où l'excitation extrême quand je tombe sur ton post et sur ton composant !!! Que j'essaye immédiatement.
Hé ben c'est pire : avec le MMTimer, plus aucun son ne joue. Je remets un TTimer : ça joue (ce n'est absolument pas régulier, mais j'ai au moins du son). Je rechange TTimer par MMTimer, je recompile : macache, les baffles restent muets.
On dirait que la méthode .Play du TMediaPlayer est niquée par ton composant... tu as déjà eu ce cas ?
darinze-arobace-yahoo-point-fr
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.