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:
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...
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(); } }
J'ai essayé ceci:
Et puis cela:
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);
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 URL musicURL = getClass().getResource("coin.mpg3"); Media media = new Media(musicURL.toExternalForm()); MediaPlayer player = new MediaPlayer(media);
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.
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
Je vous remercie à l'avance de vos futures réponse bonne journée/soirée à vous![]()
Partager