Я пытаюсь сделать игру и пытаюсь сделать кнопку «отключить звук» и «включить», но я не могу понять, как сделать так, чтобы при нажатии кнопки останавливался тот же клип, который воспроизводится наначало программы.(используя разные методы конечно).Я пытался сделать клип и аудио общедоступным, но получаю сообщение об ошибке, и я не уверен, почему.
public class TowerDefense
{
String filepath = "MenuTheme.wav";
private Clip clip;
void playMusic(String musicLocation)
{
try{
File musicPath = new File(musicLocation);
if(musicPath.exists())
{
AudioInputStream audioInput = AudioSystem.getAudioInputStream(musicPath);
clip = AudioSystem.getClip();
clip.open(audioInput);
clip.start();
clip.loop(Clip.`LOOP_CONTINUOUSLY`);
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
void pauseMusic(String musicLocation2)
{
long clipTimePosition = clip.getMicrosecondPosition();
clip.stop();
}
==============
//this is in a different private method called Options
panel.setButtonsActionListener2(**new** ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
frame.dispose();
TowerDefense musicObject = new TowerDefense();
musicObject.pauseMusic(filepath);
Options();
}
});
Я ожидал выхода остановки клипа, а затем вы можете либо снова воспроизвести его, либо отключить.В этом случае он просто говорит об ошибке, когда я нажимаю кнопку отключения звука.