Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么JavaFXWebView不允许在视频上使用全屏模式_Java_Video_Javafx_Webview_Youtube - Fatal编程技术网

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

为什么JavaFXWebView不允许在视频上使用全屏模式,java,video,javafx,webview,youtube,Java,Video,Javafx,Webview,Youtube,描述 作为一个例子,我给出了www.youtube.com,它允许你观看任何类型的视频。下面是使用javafxwebview显示网站的最低代码 问题是: 1) 不允许在任何视频上全屏显示 2) 即使视频支持,也无法进行全高清 问题: 为什么会发生这种情况?我已经用最新的Java8更新131和Java9更新171尝试了这两种方法 代码: 不能全高清 Youtube仅支持Chrome/IE/Safari/Firefox某些版本的高质量视频。(我用JDK8编译了您的程序,它支持高达720p。)单

描述

作为一个例子,我给出了
www.youtube.com
,它允许你观看任何类型的视频。下面是使用
javafxwebview
显示网站的最低代码

问题是:

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

  • 2) 即使视频支持,也无法进行全高清

问题:

为什么会发生这种情况?我已经用最新的
Java8更新131
Java9更新171尝试了这两种方法

代码:

  • 不能全高清

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

下面是一些浏览器和操作系统组合,它们支持 YouTube的高质量视频格式:

谷歌浏览器(所有操作系统)

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

Mac OS X 10.10或更新版本上的Safari

Windows 7或更高版本和Mac OS X 10.10或更高版本上的Firefox

  • 无法全屏显示

    由于JavaFXWebView自身的局限性,它似乎不支持全屏模式。在这里,您可以找到更多的解释:

      • 不能全高清

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

      下面是一些浏览器和操作系统组合,它们支持 YouTube的高质量视频格式:

      谷歌浏览器(所有操作系统)

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

      Mac OS X 10.10或更新版本上的Safari

      Windows 7或更高版本和Mac OS X 10.10或更高版本上的Firefox

      • 无法全屏显示

        由于JavaFXWebView自身的局限性,它似乎不支持全屏模式。在这里,您可以找到更多的解释:


      Hm,甚至Java 9都不能解决这个问题,我还有一个问题,如果你知道的话,我不会把它单独提出来
      有没有办法设置WebEngine的历史记录?
      例如,默认情况下,我试图在
      WebEngine
      历史记录中添加一些条目,但可观察列表是不可修改的,我得到了错误。@GOXR3PLUS我没有看到自8u131(新webkit版本)以来的重大更改,所以可能没有。关于设置WebEngine历史记录,我从源代码()中发现,您可以通过反射获取第151行中的“list”对象并更改其内容。感谢您的回答:)反射正在扼杀Java 9中的应用程序。嗯,即使Java 9也无法解决此问题,我还有一个问题,如果你知道的话,我不会把它单独提出来
      有没有办法设置WebEngine的历史记录?
      例如,默认情况下,我试图在
      WebEngine
      历史记录中添加一些条目,但可观察列表是不可修改的,我得到了错误。@GOXR3PLUS我没有看到自8u131(新webkit版本)以来的重大更改,所以可能没有。关于设置WebEngine历史记录,我从源代码()中发现,您可以通过反射获取第151行中的“list”对象并更改其内容。感谢您的回答:)反射正在扼杀Java 9中的应用程序。
      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();
              }
          }
      
      }