用javafx8观看youtube直播流

jmo0nnb3  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(333)

我正在尝试使用javafx8播放youtube直播流。

package main;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.scene.web.WebView;

public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
    try {
        WebView embeddedWV = new WebView();
        embeddedWV.getEngine().loadContent(
                "<iframe width=\"1280\" height=\"720\" src=\"https://www.youtube.com/embed/5qap5aO4i9A\" "
                + "frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\""
                + " allowfullscreen></iframe>","text/html");
            embeddedWV.setPrefSize(640, 400);
            root.getChildren().add(embeddedWV);

            primaryStage.setScene(scene);
            primaryStage.show();
    } catch(Exception e) {
        e.printStackTrace();
    }
}

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

}
嵌入的流可以正常加载,但当我单击播放时,youtube告诉我,我的“浏览器”不支持任何视频格式。我尝试了webview和mediaplayer,但我甚至无法在mediaplayer中加载页面。

kse8i1jr

kse8i1jr1#

如评论中所述,您可以尝试将javafx更新到更新的版本,如果它仍然不起作用,那么您可以尝试一些替代方案,如jxbrowser或jcef,两者都基于chromium,但是第一个非常昂贵,后者在javafx中实现有点困难

相关问题