IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

Impossible de jouer un son


Sujet :

Java

  1. #1
    Membre à l'essai Avatar de fang44z
    Homme Profil pro
    Gardien de la matrice
    Inscrit en
    Mars 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Gardien de la matrice

    Informations forums :
    Inscription : Mars 2020
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Impossible de jouer un son
    Bonjour/Bonsoir,

    Je suis débutant en Java (javafx) j'ai décidé d'apprendre à comment jouer un son seulement, je ne sais pas par quelle magie mais rien ne fonctionne. J'ai recherché absolument partout sur internet toutes le commandes se suivent et se ressemblent, pourtant ca ne fonctionne pas chez moi.
    J'aurais voulu créer quelque chose de simple, un bouton quand on click paf ca joue un son voici donc le code en question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    ublic class Main extends Application {
     
        public static void main(String[] args) {
            launch(args);
     
        }
     
        @Override
        public void start(Stage stage) throws Exception {
            Button button = new Button("click here");
     
            Media sound = new Media(getClass().getResource("res/coin.mp3").toExternalForm());
            MediaPlayer player = new MediaPlayer(sound);
            button.setOnAction((e)->{
                player.play();
            });
     
            BorderPane panel = new BorderPane();
            panel.setCenter(button);
     
            Scene scene = new Scene(panel, 250,250);
            stage.setScene(scene);
            stage.show();
     
     
        }
    }
    Le fichier en question se nomme "coin.mp3" je l'ai déplacé absolument partout que ce soit dans le dossier "res" que dans le dossier principale ect...

    J'ai essayé ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Media sound = new Media(Paths.get("coin.mp3").toUri().toString());
    MediaPlayer player = new MediaPlayer(sound);
    Et puis cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    URL musicURL = getClass().getResource("coin.mpg3");
    Media media = new Media(musicURL.toExternalForm());
    MediaPlayer player = new MediaPlayer(media);
    J'ai aussi essayé avec l'object "AudioClip", rien n'y fait je suis en train de m'arracher les cheveux pour quelque chose de plutôt basique. Pour plus d'informations je vous met ici le/les message(s) d'erreur en question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java --module-path /home/fang44/.local/share/JetBrains/IdeaIC2020.3/javafx-sdk-11.0.2/lib --add-modules javafx.controls,javafx.fxml -Djava.library.path=/home/fang44/.local/share/JetBrains/IdeaIC2020.3/javafx-sdk-11.0.2/lib -javaagent:/opt/idea/lib/idea_rt.jar=33167:/opt/idea/bin -Dfile.encoding=UTF-8 -classpath /media/fang44/49a12980-5170-427a-9f74-827843eb03f3/Documents/Java Projects/JavaFX/out/production/JavaFX:/home/fang44/.local/share/JetBrains/IdeaIC2020.3/javafx-sdk-11.0.2/lib/src.zip:/home/fang44/.local/share/JetBrains/IdeaIC2020.3/javafx-sdk-11.0.2/lib/javafx-swt.jar:/home/fang44/.local/share/JetBrains/IdeaIC2020.3/javafx-sdk-11.0.2/lib/javafx.web.jar:/home/fang44/.local/share/JetBrains/IdeaIC2020.3/javafx-sdk-11.0.2/lib/javafx.base.jar:/home/fang44/.local/share/JetBrains/IdeaIC2020.3/javafx-sdk-11.0.2/lib/javafx.fxml.jar:/home/fang44/.local/share/JetBrains/IdeaIC2020.3/javafx-sdk-11.0.2/lib/javafx.media.jar:/home/fang44/.local/share/JetBrains/IdeaIC2020.3/javafx-sdk-11.0.2/lib/javafx.swing.jar:/home/fang44/.local/share/JetBrains/IdeaIC2020.3/javafx-sdk-11.0.2/lib/javafx.controls.jar:/home/fang44/.local/share/JetBrains/IdeaIC2020.3/javafx-sdk-11.0.2/lib/javafx.graphics.jar sample.Main
    Exception in Application start method
    java.lang.reflect.InvocationTargetException
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    	at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
    	at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    	at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
    Caused by: java.lang.RuntimeException: Exception in Application start method
    	at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
    	at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    	at java.base/java.lang.Thread.run(Thread.java:834)
    Caused by: java.lang.NullPointerException
    	at sample.Main.start(Main.java:31)
    	at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
    	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
    	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
    	at java.base/java.security.AccessController.doPrivileged(Native Method)
    	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
    	at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
    	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
    	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
    	... 1 more
    Exception running application sample.Main
     
    Process finished with exit code 1
    Bon de ce que je comprend "NullPointerException" a été levé à la ligne ou je crée l'objet media, donc là ou le chemin du fichier est instancié... Comme je l'ai dis plutot je l'ai déplacé dans tous les sens j'ai aussi écris le chemin du fichier comme ceci "file:coin.mp3", bref absolument tout ce que j'ai pu trouver sur internet. Rien n'a fonctionné pour le moment. Si quelqu'un ici est en mesure de résoudre ce problème qui est à deux doigts de l'énigme pour ma part, je lui en serrait très reconnaissant.

    Je vous remercie à l'avance de vos futures réponse bonne journée/soirée à vous

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 846
    Points : 22 851
    Points
    22 851
    Billets dans le blog
    51
    Par défaut
    Citation Envoyé par fang44z Voir le message
    Le fichier en question se nomme "coin.mp3" je l'ai déplacé absolument partout que ce soit dans le dossier "res" que dans le dossier principale ect...
    Quelle IDE ?
    On peut voir comment sont agences tes fichiers ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Caused by: java.lang.NullPointerException
    	at sample.Main.start(Main.java:31)
    Je suppose que la ligne 31 de Main.java est Media sound = new Media(getClass().getResource("res/coin.mp3").toExternalForm()); ce qui impliquerait donc que getClass().getResource("res/coin.mp3") retourne la valeur null (c'est toujours bien de tester la valeur quand ca plante) et donc qu'il est impossible d'invoquer toExternalForm() dessus. Et donc que ton fichier est vraiment pas placé au bon endroit.

Discussions similaires

  1. [J2ME]comment jouer un son en MIDP 1.0
    Par Arkan dans le forum Java ME
    Réponses: 3
    Dernier message: 12/04/2005, 10h32
  2. [Audio]Jouer un son .au
    Par Pill_S dans le forum Multimédia
    Réponses: 11
    Dernier message: 28/12/2004, 17h46
  3. DIRECT MUSIC / JOUER DEUX SONS OU PLUS..
    Par ilimo dans le forum DirectX
    Réponses: 1
    Dernier message: 12/06/2004, 18h24
  4. Jouer un son MIDI
    Par Slock dans le forum Langage
    Réponses: 3
    Dernier message: 26/11/2003, 10h02
  5. Existe t'il un composant permettant de jouer un son wav?
    Par scorpiwolf dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/06/2002, 14h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo