2016-10-10 98 views
1

我的問題是如果或者不是Youtube-Livestreams可以使用JDK 8u102播放。使用WebView,可以輕鬆播放Youtube視頻(VoD)。 例子:使用JavaFX播放Youtube-LiveStream 8

package application; 

import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.web.WebView; 
import javafx.stage.Stage; 


public class Main extends Application { 
    @Override 
    public void start(Stage primaryStage) { 
     try { 
      WebView embeddedWV = new WebView(); 
      embeddedWV.getEngine().load(
      "https://www.youtube.com/embed/oyA8odjCzZ4" 
      ); 
      embeddedWV.setPrefSize(640, 400); 
      Scene scene = new Scene(embeddedWV); 
      primaryStage.setScene(scene); 
      primaryStage.show(); 
     } catch(Exception e) { 
      e.printStackTrace(); 
     } 
    } 

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

但這種方法不適用於實況流,如https://youtu.be/opHkchLbYR4工作。一個錯誤指出WebM VP8,媒體源擴展,MSE & H.264和MSE & WebM VP9不支持我的「瀏覽器」/應用程序。 一種方法,工作(但有可怕的表現)被描述爲here,但這是一個Swing的方法,而不是JavaFX8。它仍然是一個概念證明,表明可以在Java應用程序中播放Streams。我也讀this,但它是1. Android/IOS和2.只是指Youtube-Life API,它實際上並沒有回答這個問題,似乎有點矯枉過正,我試圖完成。

我的問題是:在JavaFX 8應用程序中播放由Youtube播放的直播流是否可以播放?如果它本身不可行,是否有外部庫來實現這一目標?

回答

0
public void start(Stage primaryStage) { 
     StackPane root = new StackPane(); 
     Scene scene = new Scene(root, 640, 400); 
     primaryStage.setScene(scene); 
     WebView embeddedWV = new WebView(); 
     embeddedWV.getEngine().load(
     "https://www.youtube.com/embed/oyA8odjCzZ4" 
      ); 
      embeddedWV.setPrefSize(640, 400); 
      root.getChildren().add(embeddedWV); 

      primaryStage.setScene(scene); 
      primaryStage.show(); 
    } 
+2

僅將代碼答案視爲最佳答案,請包括一些解釋 –