因此,我正在尝试创建自己的mp3播放器。mediaPlayer.play()方法有效,但暂停无效。有人可以帮我吗?
public void audioPlayerButtons(ActionEvent actionEvent) {
String bip = getClass().getResource("Songs/Sing.m4a").toExternalForm();
Media hit = new Media(bip);
MediaPlayer mediaPlayer = new MediaPlayer(hit);
if (actionEvent.getSource() == playbtn) {
mediaPlayer.play();
nowPlaying.setText("Now Playing");
songPlayingName.setText("Sing");
} else if (actionEvent.getSource() == pausebtn) {
mediaPlayer.pause();
} else if (actionEvent.getSource() == forwardbtn) {
mediaPlayer.stop();
} else if (actionEvent.getSource() == backwardbtn) {
mediaPlayer.isAutoPlay();
}
}
看来您正在MediaPlayer的第二个实例上调用Pause。
...
MediaPlayer mediaPlayer = new MediaPlayer(hit);
// each time you hit a button, you create a new MediaPlayer
if (actionEvent.getSource() == playbtn) {
mediaPlayer.play();
// first time, you call play, so it plays
nowPlaying.setText("Now Playing");
songPlayingName.setText("Sing");
} else if (actionEvent.getSource() == pausebtn) {
// pause does work, but it is not the same instance that is playing
mediaPlayer.pause();
}
...
您需要在该事件范围之外实例化mediaPlayer。尝试这样:
// instance variables
String bip = getClass().getResource("Songs/Sing.m4a").toExternalForm();
Media hit = new Media(bip);
MediaPlayer mediaPlayer = new MediaPlayer(hit);
public void audioPlayerButtons(ActionEvent actionEvent) {
if (actionEvent.getSource() == playbtn) {
mediaPlayer.play();
nowPlaying.setText("Now Playing");
songPlayingName.setText("Sing");
} else if (actionEvent.getSource() == pausebtn) {
mediaPlayer.pause();
} else if (actionEvent.getSource() == forwardbtn) {
mediaPlayer.stop();
} else if (actionEvent.getSource() == backwardbtn) {
mediaPlayer.isAutoPlay();
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句