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

问题描述 投票:0回答:2

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

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

java media-player media fxml
2个回答
4
投票

看看这些线:

MediaPlayer mediaPlayer = new MediaPlayer(hit);
MediaPlayer.play();

第二行是调用静态play()函数,它不起作用。 play()函数是非静态的。这就是为什么你得到了你得到的错误。

你可能的意思是:

MediaPlayer mediaPlayer = new MediaPlayer(hit);
mediaPlayer.play();

如果您有其他问题,请将它们作为单独的问题发布,并尝试尽可能具体。


1
投票

尝试命名别的东西即。

MediaPlayer mp = new MediaPlayer (hit);
mp.play();

那样你就不会有困惑!

© www.soinside.com 2019 - 2024. All rights reserved.