【问题标题】:HTTP Live streaming not working in JavaFX applicationHTTP Live 流在 JavaFX 应用程序中不起作用
【发布时间】:2016-06-13 11:08:09
【问题描述】:

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

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

click here to see the screenshot

以下是我通过 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);
    }
}

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

【问题讨论】:

  • 您正在尝试流式传输 HTTPS 网址而不是 HTTP。 JavaFX 当前不支持 HTTPS 流。
  • 感谢您指出我的错误。我尝试使用 HTTP 协议流式传输视频,但仍然遇到同样的问题。所以请告诉我如何解决这个问题。
  • 您使用的网址不正确,因为它不是直接的 mp4 文件。你应该尝试类似 techslides.com/demos/sample-videos/small.mp4

标签: java http javafx video-streaming


【解决方案1】:

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

    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");

【讨论】:

    猜你喜欢
    • 2020-05-25
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多