我正在尝试创建自己的iTunes版本。我正在尝试创建一个音乐播放器,这是我的方法:
public void audioPlayerButtons(ActionEvent actionEvent) {
if (actionEvent.getSource() == playbtn) {
String bip = "/Users/april121/Work/MyMusic!/src/sample/Songs/01 Clarity.m4a";
Media hit = new Media(bip);
MediaPlayer mediaPlayer = new MediaPlayer(hit);
MediaPlayer.play();
}
else (actionEvent.getSource()== pausebtn){
MediaPlayer.pause();
}
else (actionEvent.getSource()==forwardbtn){
MediaPlayer.seek(MediaPlayer.getStartTime());
MediaPlayer.stop();
}
else (actionEvent.getSource()==backwardbtn){
//to be finished
}
但我现在已经尝试了几个小时 - 无论是通过从Maven导入库还是硬编码而且它都无法正常工作。
我希望它显示正在播放的内容并具有基本功能即。播放,暂停,快退和前进,并有一个进度条。
这是它显示的错误:
non-static method can't be accessed in static context. And the part that is causing the error is the ".stop()" or ".play()" bits
但我不明白为什么 - 因为我的方法无论如何都是非静态的
答案 0 :(得分:4)
看看以下几行:
MediaPlayer mediaPlayer = new MediaPlayer(hit);
MediaPlayer.play();
第二行是调用静态play()
函数,它不起作用。 play()
函数是非静态函数。这就是您收到错误的原因。
你的意思可能是:
MediaPlayer mediaPlayer = new MediaPlayer(hit);
mediaPlayer.play();
如果您有其他问题,请将它们作为单独的问题发布,并尝试尽可能具体。
答案 1 :(得分:1)
尝试将其他名称命名为。
MediaPlayer mp = new MediaPlayer (hit);
mp.play();
这样你就不会有困惑!