使用netbeans我创建了一个带有3个按钮的JFrame,让我启动一个wav声音文件循环或停止它。如果我从netbeans启动它它完美的工作,但如果我启动jar文件它不起作用 怎么了?
这里是代码
public class NewJFrame extends javax.swing.JFrame {
/**
* Creates new form NewJFrame
*/
private AudioData audiodata;
private AudioDataStream audiostream;
private ContinuousAudioDataStream continuousaudiostream;
public NewJFrame() throws FileNotFoundException, IOException {
initComponents();
FileInputStream fis = new FileInputStream("boing.wav");
AudioStream audioStream = new AudioStream(fis);
audiodata = audioStream.getData();
audiostream = null;
continuousaudiostream = null;
}
public void play() {
audiostream = new AudioDataStream(audiodata);
AudioPlayer.player.start(audiostream);
}
public void loop() {
continuousaudiostream = new ContinuousAudioDataStream(audiodata);
AudioPlayer.player.start(continuousaudiostream);
}
public void stop() {
if (audiostream != null)
AudioPlayer.player.stop(audiostream);
if (continuousaudiostream != null)
AudioPlayer.player.stop(continuousaudiostream);
}
}
我的3个按钮调用了play(),loop()和stop()方法。我的“boing.wav”文件在我的项目文件夹中,我也尝试将其放入/src/"boing.wav“但从未启动jar文件。 我该怎么办?
答案 0 :(得分:1)
这可能与您的jdk或声卡有关。这个代码看起来还不错。尝试卸载并重新安装jdk。此外,在不同的系统上测试应用程序,让我们知道响应是什么。