我有一个JPanel组件,其中包含一个嵌入了YouTube视频的浏览器的JFXPanel。我正在使用来自YouTube的视频嵌入网址(即https://www.youtube.com/embed/W-J2OYN9fF8?autoplay=true&controls=0)。停止嵌入JFX的YouTube视频
我可以将JPanel(VideoPlayer
)添加到周围的组件没有任何问题。但是 - 当我删除VideoPlayer时,我还想停止YouTube播放器。截至目前 - 它一直在后台播放(伴随着烦人的声音)。我想我必须以某种方式进入JFX线程......所以,如果有人可以帮我用代码来输入stopTrailer()
方法 - 我会非常感激!
这是我目前的代码。对于那些谁正在寻找一种简单的方式嵌入在一个正常的JPanel一个JFX YouTube播放器 - 从上面的局限性APPART ...
public class VideoPlayer extends JPanel {
private Stage stage;
private WebView browser;
private JFXPanel jfxPanel;
private WebEngine webEngine;
private String videoUrl;
public VideoPlayer(String url){
this.videoUrl = url;
jfxPanel = new JFXPanel();
createScene();
setLayout(new BorderLayout());
setPreferredSize(new Dimension(800, 560));
add(jfxPanel, BorderLayout.CENTER);
}
private void createScene() {
PlatformImpl.startup(new Runnable() {
@Override
public void run() {
stage = new Stage();
stage.setTitle("Video");
stage.setResizable(true);
Group root = new Group();
Scene scene = new Scene(root,80,20);
stage.setScene(scene);
//Set up the embedded browser:
browser = new WebView();
webEngine = browser.getEngine();
webEngine.load(videoUrl);
ObservableList<Node> children = root.getChildren();
children.add(browser);
jfxPanel.setScene(scene);
}
});
}
public void stopTrailer() {
}
}