2017-05-30 32 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

相關問題