JavaFX如何在启动时开始播放歌曲

JavaFX how to start playing song on startup

我想制作一个简单的应用程序,在启动时自动播放 URL 中的歌曲。我知道如何使用 mediaPlayer 按按钮播放歌曲,但我不知道如何自动播放它?

这是我在 Controller class:

中的 playButtonFired 方法中使用的 initPlayer 方法
public void startup(){
    String URL="http://download.oracle.com/otndocs/javafx/JavaRap_Audio.mp4";
    initPlayer(URL);
}


private  void initPlayer(String uri)
{

    if(uri==null)
    {
        return;

    }
    Media media = new Media(uri);
    mediaPlayer = new MediaPlayer(media);
    mediaPlayer.setOnReady(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            enableControls();
        }
    });

这是我的主要class:

public class MainGui extends Application  {

@Override
public void start(Stage primaryStage) {

    Parent root = null;

    try {
        root = FXMLLoader.load(getClass().getResource("MediaPlayer.fxml"));
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }




    Scene scene = new Scene(root);
    primaryStage.setScene(scene);
    primaryStage.show();


}

public static void main(String[] args) {
    launch(args);


}

在 JavaFX 的 public void start(Stage primaryStage) 函数中添加开始播放歌曲的代码。 (mediaPlayer.play() 开始播放歌曲)

编辑:

您更新后的代码缺少 public static void startup() 中的 static。你的内容是:public void startup()。添加它并从主 class 中使用 Controller.startup(); 调用它,最好低于 primaryStage.show();