Meu MediaViewer não toca videos locais, só o do site da Oracle! Ajuda Por favor

0 respostas
SirDominque

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?

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);
        
        
       
        
    }
}
Criado 6 de maio de 2012
Respostas 0
Participantes 1