HTTP 实时流在 JavaFX 应用程序中不起作用

Har*_*hta 5 java javafx http video-streaming

我正在尝试创建一个媒体播放器,它使用 JavaFX 2.0 版通过 HTTP 实时流播放本地媒体文件/媒体。

我能够在我的媒体播放器中成功播放本地媒体文件。但是当我尝试通过 HTTP 实时流播放媒体文件时,它不起作用。当我尝试使用 HTTP 实时流播放媒体文件时,出现如下所示的白屏。

单击此处查看屏幕截图

以下是我通过 HTTP 实时流播放媒体的代码:

public class RemoteMultipleFileStreaming extends Application {
    private static final String MEDIA_URL = "http://youtu.be/uvcUO8DPWfs?list=PLRQuJcU2aZG-aMedJxa7p7ylYmOn5iMlS&t=2";

    @Override
    public void start(Stage primaryStage) {

        GridPane root = new GridPane();
        Scene scene = new Scene(root);

        primaryStage.setScene(scene);
        primaryStage.setMaximized(true);
        primaryStage.show();

        Media media = new Media(MEDIA_URL);
        MediaPlayer mediaPlayer = new MediaPlayer(media);
        mediaPlayer.setAutoPlay(true);

        MediaView mediaView = new MediaView(mediaPlayer);
        mediaView.setFitHeight(500);
        mediaView.setFitWidth(500);

        root.add(mediaView);
        mediaPlayer.play();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

请让我知道需要做什么才能使用 JavaFX 在媒体播放器中通过 HTTP 实时流播放媒体文件。

小智 0

我认为您可能需要像此示例一样 ebmedd 视频 html 源并将其作为 WebView 对象上的 html 运行

    WebView webView= new WebView();
webView.getEngine().loadContent("<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/EtwcTIqEOKo\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>" +
"", "text/html");
Run Code Online (Sandbox Code Playgroud)