Timer multimedia

Soyez le premier à donner votre avis sur cette source.

Vue 10 746 fois - Téléchargée 1 183 fois

Description

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)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Son vrais avantage c est la precision et le multi tache à essayer c est extra surtout
si vous executer une requete sql ttimer s'arrete MMtimer lui continue.......Bravo
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Ah pour acostatt : il faut aller dans le menu Composants => Installer un composant, choisir un paquet existant ou en créer un nouveau (comme tu veux) et trouver le fichier MMTimer.pas.
Ensuite tu compiles et tu installes le paquet, et voila il est installé ! N'oublie pas de sauvegarder les changements du paquet ;)

Cordialement, Bacterius !
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Bonjour,
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 !
Messages postés
14
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
3 juin 2008

Bonjour,

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!
Messages postés
1
Date d'inscription
dimanche 28 janvier 2007
Statut
Membre
Dernière intervention
29 janvier 2007

J'ai comme un problème avec ton timer, Kenavo.

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
Afficher les 11 commentaires

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.