Problème avec un JSlider dans un lecteur audio - Java - Programmation
Marsh Posté le 10-05-2007 à 20:00:21
Bon j'ai trouvé une solution plus fiable, mais c'est pas encore super clair je trouve : je unregister le Listener avant chaque mise à jour auto, et le register juste après
frankie_flowers a écrit :
|
Y'a mieux comme solution pour une seek-bar ?
Marsh Posté le 11-05-2007 à 00:35:02
Salut,
oui en principe il ya mieux.
Les players de JMF possèdent des contrôles qui permettent de controller un certain nbre de paramètres, genre volume du son, seekbar etc...
Regarde la classe javax.media.control.FramePositioningControl et les exemples de JMF. Ils sont assez faciles à réutiliser et améliorer.
Tiens, tu peux essayer qqch dans le genre de
Code :
|
Marsh Posté le 24-04-2007 à 20:12:44
Je suis en train de développer un lecteur de média basique, qui utilise JMF.
J'ai réussi à naviguer dans le fichier en déplaçant un JSlider. (le composant Player possède une methode setMediaTime)
Naturellement, je voudrais aussi que le curseur de ce JSlider se déplace tout seul lors de la lecture.
J'ai donc un thread qui recupere tous les X ms le temps actuel de la video, et qui actualise la position du curseur en fonction :
D'autre part j'ai dans ma classe de l'interface graphique un Listener qui écoute le jSlider (noms différents mais y'en a qu'un) et qui bouge dans la vidéo quand on déplace le curseur. Le problème, c'est que le code suivant doit s'executer quand l'utilisateur bouge le slider, et PAS quand le thread modifie la valeur du slider.
La seule solution que j'ai trouvée pour empêcher ça, c'est l'utilisation d'un flag, méthode moche et pas vraiment fiable, qui permet de repérer quand la modif de la valeur du JSlider vient du thread.
Sauriez-vous comment faire ça proprement ?
Message édité par frankie_flowers le 24-04-2007 à 20:16:18