##前提・実現したいこと
お世話になります。
Javaでゲームを作っており、BGMをつけたいと考えました。
そこで、下記のサイトを参考にしました。
https://nompor.com/2017/12/14/post-128/
しかし、実行してみるとFileNotFoundExceptionが出てしまいます。
デバッグしてみると確かにclipにnullが入っています。
この場合、パスが間違っている以外にどのような原因が考えられるでしょうか。
パスはプロパティから開いてコピーしているため間違っているとは考えにくいです。
よろしくお願いいたします。
メインクラス
java
1public class GameMain { 2 3 public static void main(String[] args) throws Exception { 4 Sound s = new Sound(); 5 File file = new File("C:\Users\user\Desktop\sample.wav"); 6 Clip clip = s.createClip(file); 7 clip.start(); 8 clip.loop(Clip.LOOP_CONTINUOUSLY); 9 Thread.sleep(9000); 10 clip.close();
メソッド定義
java
1public class Sound { 2 public Clip createClip(File path) { 3 //指定されたURLのオーディオ入力ストリームを取得 4 try (AudioInputStream ais = AudioSystem.getAudioInputStream(path)){ 5 6 //ファイルの形式取得 7 AudioFormat af = ais.getFormat(); 8 9 //単一のオーディオ形式を含む指定した情報からデータラインの情報オブジェクトを構築 10 DataLine.Info dataLine = new DataLine.Info(Clip.class,af); 11 12 //指定された Line.Info オブジェクトの記述に一致するラインを取得 13 Clip c = (Clip)AudioSystem.getLine(dataLine); 14 15 //再生準備完了 16 c.open(ais); 17 18 return c; 19 } catch (MalformedURLException e) { 20 e.printStackTrace(); 21 } catch (UnsupportedAudioFileException e) { 22 e.printStackTrace(); 23 } catch (IOException e) { 24 e.printStackTrace(); 25 } catch (LineUnavailableException e) { 26 e.printStackTrace(); 27 } 28 return null; 29 } 30}
##実行環境
OS:Windows10
JDK:14
Eclipse:Eclipse IDE for Java Developers - 2020-09