为什么JavaFX WebView不允许在视频上使用全屏模式

时间:2017-05-30 00:34:39

标签: java video javafx webview youtube

  

描述

作为示例,我提供了www.youtube.com,可让您观看任何类型的视频。以下是Oracle Tutorial使用JavaFX WebView显示网站的最低代码。

问题是:

  • 1)不允许在任何视频上全屏显示。

  • 2)即使视频支持全高清也无法继续播放。

  

问题

为什么会这样?我已尝试使用最新的Java 8 Update 131Java 9 update 171

  

代码:

import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class WebViewSample extends Application {

    private Scene scene;

    @Override
    public void start(Stage stage) {

        // create scene
        stage.setTitle("Web View");
        scene = new Scene(new Browser(),Color.BLACK);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

class Browser extends BorderPane {

    final WebView browser = new WebView();
    final WebEngine webEngine = browser.getEngine();

    public Browser() {
        //add components
        setCenter(browser);

        // load the home page        
        webEngine.load("https://www.youtube.com");      
    }

    // JavaScript interface object
    public class JavaApp {

        public void exit() {
            Platform.exit();
        }
    }

}

enter image description here

1 个答案:

答案 0 :(得分:3)

  • 无法全高清

    Youtube仅支持某些版本的Chrome / IE / Safari / Firefox上的高品质视频。 (我使用JDK8编译了你的程序,它最多支持720p。)点击“质量” - >“缺少选项?”时可以找到以下详细信息。

  

以下是一些支持的浏览器和操作系统组合   YouTube的高品质视频格式:

     

Google Chrome(所有操作系统)

     

Windows 8.1或更高版本上的Internet Explorer或Edge

     

Mac OS X 10.10或更新版本的Safari

     

Windows 7或更高版本以及Mac OS X 10.10或更高版本的Firefox