Gente, esse player que estou fazendo, ele toca o video dessa URL :
//URL = “http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv”;
é só descomentar e clicar em play! Ele funciona normal.
Mas quando eu escolho um video local, só saí a musica e nao sai o video… O que estou fazendo de errado? Ja tentei de tudo. eventError bla bla bla., não adianta;
Tentei de tudo, pesquisei mas nao sei mais o que fazer…Alguém me ajuda?
[code]package musica;
import javafx.application.Application;
import javafx.beans.property.ObjectProperty;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.StackPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaErrorEvent;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.stage.Stage;
import javafx.util.Duration;
import javax.swing.Action;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
//import javafx.io.http;
/**
*
-
@author André Lopes
*/
public class Musica extends Application {public MediaPlayer MP;
public Media Media;
public static String URL;
public static JFileChooser JFC;
public static Duration currentTime;
public MediaView mediaView;//Main
public static void main(String[] args) {
launch(args);
}public Musica()
{currentTime = Duration.ZERO;
mediaView= new MediaView(MP);URL = "";
//URL = “http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv”;
}//////////////////////////////////////////////////////////////
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle(“Hello! This is Yours Music Player!”);//Botão Play Button Play = new Button(); Play.setText("Play"); Play.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event1) { Media = new Media(URL); MP = new MediaPlayer(Media); MP.setStartTime(currentTime); mediaView.setMediaPlayer(MP); MP.play(); System.out.println("?"+ MP.getStatus()); mediaView.setOnError(new EventHandler<MediaErrorEvent>() { @Override public void handle(MediaErrorEvent arg0) { System.out.println("MP.getStatus: " + MP.getStatus()); } }); } }); //Botão Hello World //Botão pra escolher Musica Button SelctFileButton = new Button(); SelctFileButton.setText("Music Chooser/Finder:"); SelctFileButton.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent arg0) { System.out.println("Java File Chooser Opened"); JFileChooser search = new JFileChooser(); search.showDialog(search,URL); URL = search.getSelectedFile().toURI().toString(); System.out.println("URL:"+URL); } }); //Botão para pausar; Button Pause = new Button(); Pause.setText("Pause"); Pause.setFont(Font.font(null, FontPosture.ITALIC,15)); Pause.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent arg0) { try { currentTime = MP.getCurrentTime(); MP.pause(); }catch(java.lang.NullPointerException e) { System.out.println("java.lang.NullPointerException \n"); System.out.println("Error: Unable To pause! May happens if you didnt have a music Playing!"); } } }); //Botão Para Continuar; Button Continue = new Button(); Continue.setText("Continue/UnPause"); Continue.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent arg0) { MP.setStartTime(currentTime); MP.pause(); } }); //Grid ! Layout GridPane grid = new GridPane(); StackPane root = new StackPane(); grid.setHgap(2); grid.setHgap(2); grid.setVgap(2); Scene Scene = new Scene(root,1000,1000); root.getChildren().add(grid); root.getChildren().add(mediaView); //Scene.getStylesheets().add(Musica.class.getResource("Musica.css").toExternalForm()); //grid.getStyleClass().add(Musica.class.getResource("Musica.css").toExternalForm()); primaryStage.setScene(Scene); primaryStage.show(); //Adicionando Botoes no Grid grid.add(Play,10,10); grid.add(SelctFileButton,11,10); grid.add(Pause,10,11);
}
}
[/code]