ボックスをクリックすると音楽がうまく動作しますが、音楽を再度クリックしても音楽は停止しません。その後、チェックボックスをもう一度クリックすると、音楽が再び2回再生されます。音楽を止めるのを手伝ってください!CheckBoxのサウンドが停止する
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import sun.audio.AudioPlayer;
import sun.audio.AudioStream;
private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {
InputStream inputStream = getClass().getResourceAsStream("panda - desiigner (donald trump remix).au");
AudioStream audioStream = null;
try {
audioStream = new AudioStream(inputStream);
} catch (IOException ex) {
Logger.getLogger(kekFrame.class.getName()).log(Level.SEVERE, null, ex);
}
int check;
if(jCheckBox1.isSelected() == true){
check = 1;
} else {
check = 0;
}
switch (check) {
case 1 : AudioPlayer.player.start(audioStream);
System.out.println("Music has started playing");
break;
case 0 : AudioPlayer.player.stop(audioStream);
System.out.println("Music has stopped playing");
break;
}
}
/**
* @param args the command line arguments
*/
// Variables declaration - do not modify
private javax.swing.JCheckBox jCheckBox1;
AudioPlayerのコードも共有してください –
どこでどうすればいいですか? –
@DarkKnight 'import sun.audio.AudioPlayer;'は、(Oracle)JRE内部の文書化されていない(利用可能なソースがありません)クラスです。 OP:これらのクラスは使用しないでください。代わりに、 '' javax.sound.sampled'パッケージの['Clip'](http://docs.oracle.com/javase/8/docs/api/javax/sound/sampled/Clip.html)を使用してください。 –