我正在尝试使用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中加载页面。
1条答案
按热度按时间kse8i1jr1#
如评论中所述,您可以尝试将javafx更新到更新的版本,如果它仍然不起作用,那么您可以尝试一些替代方案,如jxbrowser或jcef,两者都基于chromium,但是第一个非常昂贵,后者在javafx中实现有点困难