import java.io.IOException;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;

public class App extends Application {
	@Override
	public void start(Stage stage) throws IOException {
		Media media = new Media("http://lejpse.s4.javaplatfo1lhr.oraclevcn.com/tank/webbugs/tests/bugreports/pure_tone.wav");
		MediaPlayer mediaPlayer = new MediaPlayer(media);

		MediaView mediaView = new MediaView(mediaPlayer);

		mediaView.setFitWidth(600);
		mediaView.setPreserveRatio(true);

		BorderPane root = new BorderPane();
		root.setCenter(mediaView);

		mediaPlayer.play();

		mediaPlayer.setOnReady(() -> {
			System.out.println("Media is ready to play.");
		});

		mediaPlayer.setOnEndOfMedia(() -> {
			System.out.println("End of media.");
			mediaPlayer.seek(mediaPlayer.getStartTime()); // Loop
		});

		mediaPlayer.setOnError(() -> {
			System.err.println("Media player error: " + mediaPlayer.getError());
		});
		mediaPlayer.setOnStalled(() -> System.err.println(("Stalled")))	;
		
		Scene scene = new Scene(root, 800, 600); 
		stage.setTitle("JavaFX Media Player");
		stage.setScene(scene);
		stage.show();

	}

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