使用javafx和场景构建器创建音乐播放器

时间:2015-05-18 17:16:06

标签: java media-player media fxml

我正在尝试创建自己的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

但我不明白为什么 - 因为我的方法无论如何都是非静态的

2 个答案:

答案 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();

这样你就不会有困惑!