转发时javafx mediaview白色闪光

时间:2017-06-19 19:44:41

标签: javafx-8 media

...分毫不差

我正在使用以下代码在两个视频之间进行转换。

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

当我使用新视频调用loadMedia时,媒体播放器会短暂闪烁白色。我猜这与状态需要时间有关。但我需要这些过渡顺利进行,没有闪光灯。

怎么办?

谢谢, GeePaw

1 个答案:

答案 0 :(得分:0)

经常,我不久后回答了我自己的问题。诀窍是在更改视图的播放器之前等待状态准备好:

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;
}