I want to play two videos with only one MediaPlayer:
private static MediaPlayerBuilder mpB;
private static Media mLogo;
private static Media mSaludo;
private static MediaPlayer mpLogo;
private static MediaView mvLogo;
private static Group gLogo;
public void start(final Stage stage) {
...
mLogo = MediaBuilder.create().source(myGetResource(VIDEOLOGO_PATH)).build();
mSaludo = MediaBuilder.create().source(myGetResource(VIDEOSALUDO_PATH)).build();
mpB = MediaPlayerBuilder.create();
mpLogo = mpB.media(mLogo).build();
mvLogo = MediaViewBuilder.create().mediaPlayer(mpLogo).build();
gLogo.getChildren().add(mvLogo);
...
sActual = new Scene(gPozos, WIDTH, HEIGHT, Color.BLACK);
stage.setScene(sActual);
stage.show();
When I want to play mLogo:
sActual.setRoot(gLogo);
mpLogo.play();
Then, when I want to play mSaludo I do this:
mpLogo = mpB.media(mSaludo).build();
sActual.setRoot(gLogo);
mpLogo.play();
or this:
mpB.media(mSaludo).applyTo(mpLogo);
sActual.setRoot(gLogo);
mpLogo.play();
or this:
mpB.media(mSaludo);
sActual.setRoot(gLogo);
mpLogo.play();
But is impossible to change the Media. It doesn't work. Sometimes I play mLogo video and sometimes (depends on the code) the video mLogo doesn't start and I see an image of the first keyframe and nothing else. I have no exceptions, no errors, nothing.
I want to play mLogo and then mSaludo. How can I do this?
Thanks
Noelia