JavaFXでタイマーアプリを作成しています。
パソコンのオーディオ機器に問題がある場合、以下の例外が投げられます。
キャッチしたい例外
Exception in thread "Thread-4" com.sun.media.jfxmedia.MediaException: Could not create player! at javafx.media/com.sun.media.jfxmediaimpl.NativeMediaManager.getPlayer(NativeMediaManager.java:274) at javafx.media/com.sun.media.jfxmedia.MediaManager.getPlayer(MediaManager.java:118) at javafx.media/com.sun.media.jfxmediaimpl.NativeMediaAudioClipPlayer.play(NativeMediaAudioClipPlayer.java:319) at javafx.media/com.sun.media.jfxmediaimpl.NativeMediaAudioClipPlayer.clipScheduler(NativeMediaAudioClipPlayer.java:112) at javafx.media/com.sun.media.jfxmediaimpl.NativeMediaAudioClipPlayer.access$000(NativeMediaAudioClipPlayer.java:47) at javafx.media/com.sun.media.jfxmediaimpl.NativeMediaAudioClipPlayer$Enthreaderator.lambda$static$0(NativeMediaAudioClipPlayer.java:85) at java.base/java.lang.Thread.run(Thread.java:844)
以下のコードで例外処理を試みましたが、同じ例外が投げられます。
実行したコード
Java
1try{ 2 audio = new AudioClip(new File("Ding.mp3").toURI().toString()); 3 audio.play(); 4 Thread.sleep(1000); 5}catch(Exception e){ 6 System.out.println("音声が再生できませんでした。"); 7}
import文
import java.io.File; import javafx.application.*; import javafx.scene.*; import javafx.scene.layout.*; import javafx.scene.control.*; import javafx.scene.paint.*; import javafx.scene.image.*; import javafx.scene.effect.*; import javafx.scene.text.*; import javafx.scene.input.*; import javafx.scene.canvas.*; import javafx.scene.shape.*; import javafx.scene.media.*; import javafx.scene.media.AudioClip; import javafx.stage.*; import javafx.event.*; import javafx.geometry.*; import javafx.collections.*; import java.util.*; import java.net.MalformedURLException;
アドバイスをいただけますでしょうか。
よろしくお願い致します。
全体のコード
https://github.com/yamakataoka/Pomodoro/blob/master/Pomodoro.java