public void playMet() {
int tempo = Integer.parseInt(met_speed.getText());
tempo = tempo/60;
int delay = tempo*1000;
if(Play.isSelected()) {
try {
FileInputStream in = new FileInputStream(new File("Click1.wav"));
AudioStream as = new AudioStream(in);
AudioPlayer.player.start(as);
Thread.sleep(tempo*1000);
playMet();
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
else
System.out.println("not playing");
}
これが私のコードのセクションです。基本的にボタンが押されると、1分間にX回クリックが再生されます。
次のような while ループでコードを試しました。
while(Play.isSelected()) {
.........
.........
}
それもうまくいきませんでした。どちらの場合も、プログラムは正常に実行されますが、フリーズするため、タスク マネージャーからプログラムを終了する必要があります。
ボタンが押されたときに関数を呼び出し、選択を解除すると停止できるようにするにはどうすればよいですか?
PS以下の2つの投稿を見ました。仕事に行く必要があります。後でチェックして、機能するかどうかを確認します。お手伝いありがとう。