I wanna make a simple app that automatically plays a song from URL when started. I know how to play a song on button press using mediaPlayer, but i dont know how to play it automatically ?
This is my method for initPlayer
that i use inside of a playButtonFired
method in my Controller
class:
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();
}
});
And this is my main 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);
}
Add your code which starts to play the song inside the public void start(Stage primaryStage)
function of JavaFX. (mediaPlayer.play()
starts playing a song)
EDIT:
Your updated code is missing the static
from public static void startup()
. Yours reads: public void startup()
. Add it and call it from your main class with Controller.startup();
, preferably below primaryStage.show()
;