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()
;
我想制作一个简单的应用程序,在启动时自动播放 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()
;