我有一個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() {
}
}