実現したいこと
JavaFXでAudioClipを使用して音楽を鳴らしたい。
前提
JavaFxでアプリケーションを作成しています。
音楽(mp3)が流れるようにしたいのですが、AudioClipでエラーになります。
19行目のgetClass().getResource()では null が出力されます。
mp3ファイルはMain.javaと同じフォルダに保存してあります。
getResouce()の問題のような気がしているのですが、どの辺を調べたら良いのか教えていただけないでしょうか?
発生している問題・エラーメッセージ
java.lang.NullPointerException: Cannot invoke "java.net.URL.toString()" because the return value of "java.lang.Class.getResource(String)" is null at tetris/application.Main.start(Main.java:21) at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
該当のソースコード
JavaFX
1package application; 2 3import javafx.application.Application; 4import javafx.stage.*; 5import javafx.scene.layout.*; 6import javafx.scene.Scene; 7import javafx.scene.media.AudioClip; 8 9 10public class Main extends Application{ 11 12 public static void main(String[] args) { 13 launch(args); 14 } 15 16 @Override 17 public void start(Stage pstage) { 18 try { 19 System.out.println(getClass().getResource("tetoris.mp3")); 20 21 AudioClip audio = new AudioClip(getClass().getResource("tetoris.mp3").toString()); 22 //audio.setCycleCount(AudioClip.INDEFINITE); 23 audio.play(); 24 25 BorderPane root = new BorderPane(); 26 Scene scene = new Scene(root,400,400); 27 pstage.setScene(scene); 28 pstage.show(); 29 }catch (Exception e) { 30 e.printStackTrace(); 31 } 32 } 33} 34
試したこと
mp3ファイルの絶対パスの文字列を
String path = "/Users/username/eclipse-workspace/tetris/bin/application";
new AudioClip(getClass().getResource(path));
のように指定してもダメでした。
補足情報(FW/ツールのバージョンなど)
MacOS 13.4.1
java version "17.0.7" 2023-04-18 LTS
javafx-sdk-17.0.7
Eclipse IDE Version: 2023-06 (4.28.0)

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/07/11 07:17