Ho un problema, il video in questione è presente sia nel mio disco C che nel package del programma(uso netbeans)se uso questa sintassi:
media2 = new Media("file:///C://videoBacc/2.mp4");
[/CODE
il video funziona benissimo ed alla fine appaiono i contenitori con dentro i bottoni denominati second e third:
[CODE
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
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 setOnEndOfMedia, 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.
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<MouseEvent>() {
@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<MouseEvent>() {
@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();
}
});
}
}