Skip to Main Content

Java SE (Java Platform, Standard Edition)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How can I play different videos with only one MediaPlayer?

896342Dec 7 2011 — edited Dec 12 2011
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
This post has been answered by jsmith on Dec 8 2011
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jan 9 2012
Added on Dec 7 2011
3 comments
212 views