javafx mediaview белая вспышка при переходе

Folks...

Я использую следующий код для перехода между двумя видео.

public void loadMedia(Media media)
{
    MediaPlayer newPlayer = new MediaPlayer(media);
    newPlayer.setAutoPlay(true);
    mediaView.setMediaPlayer(newPlayer);
    player = newPlayer;
}

Когда я вызываю loadMedia с новым видео, медиаплеер кратковременно мигает белым. Я предполагаю, что это связано с тем, что статус требует времени. Но мне нужно, чтобы эти переходы проходили плавно, без вспышки.

Что делать?

Спасибо, GeePaw

1 ответ

Как часто, я вскоре ответил на свой вопрос. Хитрость заключается в том, чтобы дождаться готовности статуса, прежде чем менять игрока представления:

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;
}
Другие вопросы по тегам