HTTP Live流不能在JavaFX应用程序中运行

时间:2016-03-01 06:22:15

标签: java http javafx video-streaming

我正在尝试使用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直播流播放媒体文件需要做些什么。

1 个答案:

答案 0 :(得分:0)

我认为您可能需要像本例一样使用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");