javafx mediaview white flash on transition

左心房为你撑大大i 提交于 2019-12-25 09:36:57

问题


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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!