У меня проблема со звуковым циклом в моем коде. Сам звук в другом классе, и я хотел бы остановить его, нажав кнопку j в другом классе.
Код в классе звука:
public Sound() {
try {
URL sound = this.getClass().getClassLoader().getResource("sound.wav");
AudioInputStream audioIn = AudioSystem.getAudioInputStream(sound);
Clip clip = AudioSystem.getClip();
clip.open(audioIn);
clip.start();
clip.loop(Clip.LOOP_CONTINUOUSLY);
}
catch (Exception e) {
e.printStackTrace();
}
}
Я много пробовалвещей, чтобы остановить звук, нажав кнопку j в другом классе (ActionListener), но, похоже, ничего не работает. Любые идеи?
Редактировать: я забыл сказать, что я также пытался сделать звуковой метод в том же классе с jbutton, но это тоже не сработало. (следующий код)
public void sound() {
try {
URL sound = this.getClass().getClassLoader().getResource("sound.wav");
AudioInputStream audioIn = AudioSystem.getAudioInputStream(sound);
Clip clip = AudioSystem.getClip();
clip.open(audioIn);
clip.start();
clip.loop(Clip.LOOP_CONTINUOUSLY);
} catch (Exception e) {
e.printStackTrace();
}
}
Редактировать 2:
JButton playB = new JButton("Play");
playB.setBounds(192, 350, 500, 100);
playB.setFont(new Font("Arial", Font.PLAIN, 80));
playB.setForeground(Color.GREEN);
menu.add(playB);
playB.setOpaque(false);
playB.setContentAreaFilled(false);
playB.setBorderPainted(false);
playB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clip.stop();
}
});
clip.stop()
там явно не работает.