Bonjour,
je cherche un moyen de créer un VU-mètre comme dans VLC. Est ce que quelqu'un à une idée de comment je dois m'y prendre?
Merci d'avance
Bonjour,
je cherche un moyen de créer un VU-mètre comme dans VLC. Est ce que quelqu'un à une idée de comment je dois m'y prendre?
Merci d'avance
Essaie de regarder du coté de la suite de composants Steel Series qui devrait contenir de quoi te ravir.
Le blog du Développeur: http://harmoniccode.blogspot.com/sea...el/steelseries
Le repo Maven du projet: https://oss.sonatype.org/index.html#nexus-search;quick~steelseries
Ok merci je vais y jeter un coups d'oeil!
Merci!
Cette bibliothèque a vraiment l'air pas mal du tout! Le seul problème c'est que je n'arrive pas a drag et dropper de la pallette vers l'endroit ou j'aimerai la mettre car netbeans m'affiche ce message d'erreur :
java.lang.ClassNotFoundException: org.pushingpixels.trident.ease.TimelineEase
at org.netbeans.modules.form.project.ProjectClassLoader.findClass(ProjectClassLoader.java:178)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Caused: java.lang.NoClassDefFoundError: org/pushingpixels/trident/ease/TimelineEase
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.netbeans.modules.form.project.ClassPathUtils.loadClass(ClassPathUtils.java:98)
at org.netbeans.modules.form.MetaComponentCreator.prepareClass0(MetaComponentCreator.java:1322)
at org.netbeans.modules.form.MetaComponentCreator.access$800(MetaComponentCreator.java:87)
at org.netbeans.modules.form.MetaComponentCreator$4.run(MetaComponentCreator.java:1289)
at org.netbeans.modules.form.FormLAF$2.run(FormLAF.java:293)
at org.openide.util.Mutex.doEventAccess(Mutex.java:1361)
at org.openide.util.Mutex.readAccess(Mutex.java:320)
at org.netbeans.modules.form.FormLAF.executeWithLookAndFeel(FormLAF.java:276)
at org.netbeans.modules.form.MetaComponentCreator.prepareClass(MetaComponentCreator.java:1285)
at org.netbeans.modules.form.MetaComponentCreator.createComponent(MetaComponentCreator.java:130)
at org.netbeans.modules.form.HandleLayer$NewComponentDrag.end(HandleLayer.java:3132)
at org.netbeans.modules.form.HandleLayer$NewComponentDropListener.drop(HandleLayer.java:3307)
at java.awt.dnd.DropTarget.drop(DropTarget.java:434)
at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:519)
at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java:832)
at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:756)
at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:30)
at java.awt.Component.dispatchEventImpl(Component.java:4593)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4566)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
at java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:4356)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4207)
at java.awt.Container.dispatchEventImpl(Container.java:2129)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4566)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:680)
at java.awt.EventQueue.access$000(EventQueue.java:86)
at java.awt.EventQueue$1.run(EventQueue.java:639)
at java.awt.EventQueue$1.run(EventQueue.java:637)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:653)
at java.awt.EventQueue$2.run(EventQueue.java:651)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:650)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:137)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
==>
Help!!!
Bah il ne trouve pas une classe spécifique portant le nom de TimelineEase contenu dans un package du nom de org.pushingpixels.trident.ease
Il s'agit de l'API trident, que le développeur de SteelSeries cite comme dépendance dans ses posts.
Voici où récupérer l'API Trident: http://kenai.com/projects/trident/pages/Home
A egalement mettre dans ton classpath.
Super, le graphique (interface) fonctionne mais maintenant je n'arrive pas à faire le code pour aller recherche la valeur que je dois envoyer dans le VU-Mètre à partir des librairies javax.sound.sample ....
Une idée??
Thank's
Quel type de jauge as tu utilisé?
Sinon dans la théorie, il faut procéder de la façon suivante
1 - Créer la jauge dans l'EDT
2 - Lancer le traitement audio dans un thread à part.
3 - Mettre à jour la jauge depuis le thread gérant la partie audio en pensant bien à utiliser la méthode SwingUtilities.invokeLater(Runnable r) pour englober les ordres de mise à jour du composant.
Cf http://gfx.developpez.com/tutoriel/j...ing-threading/
J'utilise la linearBargraph de steelseries...
NB : Qu'entendez-vous par EDT?
Dans ce cas pour modifier sa valeur il suffit de passer par la méthode setValue.
Pour comprendre ce qu'est l'EDT je te conseille la lecture du tutoriel dont j'ai donné le lien dans mon message précédent.
Enfin pour la partie utilisation de JavaSound: http://www.developer.com/java/other/...troduction.htm
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager