2017-05-30 25 views
1

说明为什么JavaFX的WebView中没有允许在视频

举个例子全屏模式我给www.youtube.com它可以让你观看任何类型的影片。以下是使用JavaFX WebView来显示网站的Oracle Tutorial的最小代码。

的问题是:

  • 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

回答

3
  • 不能去全高清

    YouTube只支持高QUAL在某些版本的Chrome/IE/Safari/Firefox上播放视频。 (我用JDK8编译你的程序,它支持高达720p。)点击“质量” - >“缺少选项?”,你可以找到以下细节。

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

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

Internet Explorer或边缘上的Windows 8.1或较新版本

Mac OS X 10.10或更新版本的Safari浏览器

火狐在Windows 7或更高版本和Mac OS X 10.10或更新

+0

嗯,甚至没有Java 9解决这个问题.....? ,如果你知道它,我还有一个问题,我不会让它成为一个单独的问题。 '有什么方法可以设置WebEngine的历史?'例如,我试图在默认情况下在WebEngine历史记录中添加一些条目,但可观察列表是不可修改的,并且出现错误。 – GOXR3PLUS

+0

@ GOXR3PLUS自8u131(新的webkit版本)以来我没有看到重大更改,因此可能不会。关于设置WebEngine的历史,我从源代码中找到(https://github.com/Debian/openjfx/blob/master/modules/web/src/main/java/javafx/scene/web/WebHistory.java)您可以通过反射来获取第151行中的“列表”对象并更改其内容。 – volatilevar

+0

感谢您的回答:)反思虽然在Java 9中杀死应用程序。 – GOXR3PLUS

相关问题