我正在尝试使用javaFX从youtube播放视频.这是我的代码
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("Media");
Group root = new Group();
Media media = new Media("http://www.youtube.com/watch?v=k0BWlvnBmIE");
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.play();
MediaView mediaView = new MediaView(mediaPlayer);
root.getChildren().add(mediaView);
Scene scene = SceneBuilder.create().width(500).height(500).root(root)
.fill(Color.WHITE).build();
primaryStage.setScene(scene);
primaryStage.show();
}
}
Run Code Online (Sandbox Code Playgroud)
窗口打开但视频无法播放,也不例外.有什么问题,我该如何解决?
谢谢.
jew*_*sea 15
2015年12月4日更新
某些版本的JavaFX 8无法播放YouTube视频内容.目前,例如,Java 8u66无法播放youtube视频内容,但Java 8u72早期访问版本可以.
背景
有关在JavaFX中播放视频的一般信息位于我的答案中:用于嵌入电影的任何简单(和最新)Java框架.这个答案只涉及嵌入YouTube视频,因为这似乎是问题提供者感兴趣的内容.
解
如果您将URL提供给WebView而不是MediaPlayer,则JavaFX可以使用YouTube视频URL播放YouTube视频.
注意事项
如果您只想要YouTube媒体播放器而不是整个相关的YouTube页面,请使用/embed位置而不是/watch网址中的位置.
只能嵌入一些视频.例如,您无法嵌入Katy Perry视频,因为YouTube会以嵌入格式阻止其分发(而是告诉您在YouTube网站上观看视频,而该视频仅通过YouTube Flash播放器提供).
只有YouTube允许在其HTML5播放器中播放的视频才能在JavaFX中播放.这是YouTube视频的绝大部分比例.仅在YouTube的Flash播放器中播放的YouTube视频无法在JavaFX中播放.
样品申请
下面的JavaFX应用程序为一块水果播放YouTube视频广告.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class VideoPlayer extends Application {
public static void main(String[] args) { launch(args); }
@Override public void start(Stage stage) throws Exception {
WebView webview = new WebView();
webview.getEngine().load(
"http://www.youtube.com/embed/utUPth77L_o?autoplay=1"
);
webview.setPrefSize(640, 390);
stage.setScene(new Scene(webview));
stage.show();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33292 次 |
| 最近记录: |