我的问题是,是否可以使用JDK 8u102播放Youtube-Livestreams。使用WebView,可以轻松播放Youtube-Videos(视频点播)。 例如:
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-Applications中播放Streams。我也读过this,但它是1.对于Android / IOS和2.仅指Youtube-Life API,它实际上没有回答这个问题,对我试图完成的事情看起来有点过分。
我的问题是:在某种程度上可以播放由Youtube播放的直播节目中的JavaFX 8应用吗?如果它本身不可能,是否有外部库来实现这一目标?
答案 0 :(得分: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();
}