我使用javazoom的Java layer(jl)库在java中设计了一个MP3播放器。该应用程序是功能性的,但当我尝试使用JSlider或JProgressBar来显示播放歌曲的进度时,它不起作用。当我在自己的线程中使用滑块时,它可以与歌曲的长度一起工作,但它会使声音崩溃并且歌曲在播放时会多次分解。
请有人帮我解决这个问题。这是我用于滑块的代码:
public void setSliderValue(int maxValue, int minValue){
new Thread(){
@Override
public void run(){
try {
songSlider.setMaximum(maxValue);
songSlider.setMinimum(minValue);
while(songIsPlaying()){
songSlider.setValue((int)(maxValue - input.available()));
songSlider.repaint();
}
} catch (IOException ex) { }
}
}.start();
}
SongIsPlaying()是我用来检查当前正在播放的歌曲并且输入是FileInputStream的对象的方法。 非常感谢您的帮助。 谢谢
哈罗德