【发布时间】:2015-04-08 18:19:18
【问题描述】:
我正在使用 javafx 制作一个基于播放列表的 mp3 播放器,除了如何暂停/恢复歌曲外,我一切正常。我尝试简单地检查player.Status()并使用它,但它不起作用,所以我将点击pause()时的歌曲时间存储在Duration pausetime变量中,它以这种方式工作但只有一次。发生的情况是:我点击pause(),它工作,点击play(),它恢复歌曲,但之后暂停按钮停止执行任何操作。
顺便说一句,由于我想要的风格,我使用两个单独的 ToggleButton 来暂停和播放。
这是我正在谈论的代码部分:
public void play(){
if (player != null){
player.stop();
}
if (pausebutton.isSelected()){
pausebutton.setSelected(false); //resume part
slider.setValue(pausetime.toSeconds());
play();
}
this.player = players.get(i);
player.setStartTime(pausetime);
player.play();
slide(i);
csong.setText(playlist.get(i).getName());
player.setOnEndOfMedia(new Runnable(){
@Override public void run(){
if (shuffle.isSelected()){
i = rand.nextInt(players.size() + 1);
}
else{
i++;
}
if(loop.isSelected()){
if (i == players.size()){
i = 0;
}}
list.getSelectionModel().select(i);
play();
}
});
}
public void pause(){
player.pause();
pausetime = player.getCurrentTime();
playbutton.setSelected(false);
}
【问题讨论】:
标签: java javafx media-player