问题
Folks...
I'm using the following code to transition between two videos.
public void loadMedia(Media media)
{
MediaPlayer newPlayer = new MediaPlayer(media);
newPlayer.setAutoPlay(true);
mediaView.setMediaPlayer(newPlayer);
player = newPlayer;
}
When I call loadMedia with the new video, the mediaplayer flashes white briefly. I'm guessing this has to do with the status taking time. But I need these transitions to go smoothly with no flash.
What to do?
Thanks, GeePaw
回答1:
As so often, I answered my own question shortly after. The trick is to wait for the status to be ready before you change the view's player:
public void loadMedia(Media media)
{
MediaPlayer newPlayer = new MediaPlayer(media);
newPlayer.setAutoPlay(true);
newPlayer.setOnReady(()->videoReady(newPlayer));
}
private void videoReady(MediaPlayer newPlayer)
{
mediaView.setMediaPlayer(newPlayer);
player = newPlayer;
}
来源:https://stackoverflow.com/questions/44638713/javafx-mediaview-white-flash-on-transition