ho un problema, il video in questione è presente sia nel mio disco C che nel package del programma(uso netbeans)se uso questa sintassi:
codice:
media2 = new Media("file:///C://videoBacc/2.mp4");
il video funziona benissimo ed alla fine appaiono i contenitori con dentro i bottoni denominati second e third:
codice:
player.setOnEndOfMedia(new Runnable() { @Override public void run() { second.setTranslateX((t.getScreenSize().width / 2) + 100); second.setTranslateY(t.getScreenSize().height / 2); third.setTranslateX((t.getScreenSize().width / 2) - 100); third.setTranslateY(t.getScreenSize().height / 2); root.getChildren().add(second); root.getChildren().add(third); } });
ma in questo modo il percorso dei video è fisso ed il programma funzionerà solo su windows, quindi avevo pensato di usare la sintassi
codice:
media1 = new Media(getClass().getResource("/video/1.mp4").toString());
il video viene letto lo stesso ma quando arriva il momento in cui dovrebbe entrare in funzione il metodo endOfMedia, il programma sembra che salti il tutto non facendo ovviamente apparire i due bottoni, qualcuno sa come aiutarmi????grazie in anticipo, qui sotto posto il codice per intero.
codice:
package dapostare;import java.awt.Toolkit;import java.io.File;import javafx.application.Application;import static javafx.application.Application.launch;import javafx.event.EventHandler;import javafx.scene.Group;import javafx.scene.Scene;import javafx.scene.control.Button;import javafx.scene.input.MouseEvent;import javafx.scene.layout.VBox;import javafx.scene.media.Media;import javafx.scene.media.MediaPlayer;import javafx.scene.media.MediaView;import javafx.scene.paint.Color;import javafx.stage.Stage;import javax.swing.JOptionPane;public class DaPostare extends Application { int w = 0; int h = 0; Media media1; Media media2; Media media3; MediaPlayer player; MediaView view; Toolkit t = Toolkit.getDefaultToolkit(); public static void main(String[] args) { launch(args); } @Override public void start(final Stage stage) throws Exception { media1 = new Media(getClass().getResource("/video/1.mp4").toString()); media2 = new Media("file:///C://videoBacc/2.mp4"); media3 = new Media("file:///C://videoBacc/2.mp4"); player = new MediaPlayer(media1); view = new MediaView(player); final Group root = new Group(); Scene scene = new Scene(root, w, h, Color.BLACK); stage.setScene(scene); //stage.setWidth(100); setta la larghezza del frame stage.show(); view.setFitWidth(t.getScreenSize().width); //setta la grandezza del video view.setFitHeight(t.getScreenSize().height); player.play(); final VBox second = new VBox(); final Button destra = new Button(); destra.setScaleX(2); destra.setScaleY(2); destra.setText("destra"); second.getChildren().add(destra); final VBox third = new VBox(); final Button sinistra = new Button(); sinistra.setScaleX(2); sinistra.setScaleY(2); sinistra.setText("sinistra"); third.getChildren().add(sinistra); root.getChildren().add(view);// root.getChildren().add(perPlay); player.setOnReady(new Runnable() { @Override public void run() { w = player.getMedia().getWidth(); h = player.getMedia().getHeight(); stage.setFullScreen(true); } }); player.setOnEndOfMedia(new Runnable() { @Override public void run() { second.setTranslateX((t.getScreenSize().width / 2) + 100); second.setTranslateY(t.getScreenSize().height / 2); third.setTranslateX((t.getScreenSize().width / 2) - 100); third.setTranslateY(t.getScreenSize().height / 2); root.getChildren().add(second); root.getChildren().add(third); } }); destra.setOnMousePressed(new EventHandler() { @Override public void handle(MouseEvent me) { player = new MediaPlayer(media3); view = new MediaView(player); root.getChildren().add(view); view.setFitWidth(t.getScreenSize().width); //setta la grandezza del video view.setFitHeight(t.getScreenSize().height); player.play(); } }); //PERCORSO CHE PARTE DA SINISTRA sinistra.setOnMousePressed(new EventHandler() { @Override public void handle(MouseEvent me) { player = new MediaPlayer(media2); view = new MediaView(player); root.getChildren().add(view); view.setFitWidth(t.getScreenSize().width); //setta la grandezza del video view.setFitHeight(t.getScreenSize().height); player.play(); } }); }}