import java.net.URL; import javafx.scene.media.AudioClip; /** * 効果音 *
* 効果音を制御します。 **/ public class PRSoundEffect { /** クリップ */ private AudioClip clip = null; /** 繰り返し */ private boolean flgLoop = true; /** * コンストラクタ *
* Waveオブジェクトを生成します。 ** @param obj パスを決めるオブジェクト * @param fileName ファイル名 * @param flgLoop true:繰り返す / false:繰り返さない */ public PRSoundEffect(Object obj, String fileName, boolean flgLoop){ // パスを決めるオブジェクト if(obj == null){ obj = this; } // 繰り返し設定 this.flgLoop = flgLoop; // URLを取得 URL resource = obj.getClass().getResource(fileName); // クリップを取得 clip = new AudioClip(resource.toString()); // 繰り返す場合、 if(this.flgLoop){ // 繰り返し設定 clip.setCycleCount(AudioClip.INDEFINITE); } } // end PRSoundEffect /** * 演奏スタート */ public void start(){ // スタート clip.play(); } /** * 演奏ストップ */ public void stop(){ // 実行中の場合、 if(clip.isPlaying()){ // 停止 clip.stop(); } } }