我需要能够在使用 JavaFx 16 开始播放视频之前找到一个位置
当 MediaPlayerseek() 或 setStartTime() 在 play() 之前调用时,它会破坏视频输出并且不再更新任何帧(声音仍在播放)。
视频的持续时间是已知的并且不是无限期的。侦听器不会打印任何错误,也不会出现任何有意义的停顿(仅有时在通过 https 加载视频的开始时),但本地文件也会出现相同的问题。所以我觉得这个可以排除。我正在使用 Maven mvn clean javafx:run、.
我尝试分别调用这些方法,并且在就绪侦听器内部和启动方法外部依次调用这些方法。
我正在 GNU/Linux (Ubuntu 21.04) 上使用 JDK 11 (11.0.11+9-Ubuntu-0ubuntu2)、maven 3.6.3 和 openjfx 16。
我组装了一个最小的示例,下面的代码中我做错了什么吗?您知道如何处理或解决这个问题吗?提前致谢。
应用程序.java
package org.openjfx;
import javafx.application.Application;
import javafx.scene.control.Label;
import javafx.scene.Group;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.util.Duration;
import javafx.event.EventHandler;
import javafx.scene.input.KeyEvent;
import javafx.scene.input.KeyCode;
public class App extends Application {
private Scene scene;
private MediaPlayer mediaPlayer;
private final Runnable onReadyStateListener = new Runnable() { …Run Code Online (Sandbox Code Playgroud)